apache 指定的网络名不再可用 原因及解决方法
1、出現(xiàn)問題狀況:
出現(xiàn)問題網(wǎng)站:http://www.ayyzz.cn/
前段時間作文大全網(wǎng)出現(xiàn)有時候比較慢,有時候“找不到網(wǎng)頁”404錯誤;另外在error.log里也報錯:
[Mon May 07 08:32:22 2014] [warn] (OS 64)指定的網(wǎng)絡(luò)名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
2、網(wǎng)上查找到原因:
winnt(MPM) - Apache 2.2 參考手冊有下列描述
Apache MPM winnt
說明: 專門為Windows NT優(yōu)化過的MPM
狀態(tài): MPM
模塊名: mpm_winnt_module
源文件: mpm_winnt.c
該多路處理模塊(MPM)是Windows NT上的默認值。它使用一個單獨的父進程產(chǎn)生一個單獨的子進程,在這個子進程中輪流產(chǎn)生多個線程來處理請求。
Win32DisableAcceptEx 指令
說明: 使用accept()代替AcceptEx()接受網(wǎng)絡(luò)鏈接
語法: Win32DisableAcceptEx
默認值: AcceptEx()是默認的,使用這個指令將禁用它。
作用域: server config
狀態(tài): MPM
模塊: mpm_winnt
兼容性: 僅在 Apache 2.0.49 及以后的版本中可用
AcceptEx()是一個微軟的WinSock2 API ,通過使用BSD風格的accept() API提供了性能改善。一些流行的Windows產(chǎn)品,比如防病毒軟件或虛擬專用網(wǎng)絡(luò)軟件,會干擾AcceptEx()的正確操作。如果你遇到類似于如下的錯誤:
[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.
你就需要使用這個指令來禁止使用AcceptEx() 。
3、解決方法
在httpd.conf文件中添加 Win32DisableAcceptEx 標記,如下:
<IfModule mpm_winnt.c>
ThreadsPerChild 150
MaxRequestsPerChild 10000
Win32DisableAcceptEx
</IfModule>
這樣可以允許并發(fā)連接更大一些。同時性能上也不會有明顯的降低。
如果Apache的error.log還是出現(xiàn)大量的:Sat Dec 20 13:10:22 2014] [warn] (OS 64)指定的網(wǎng)絡(luò)名不再可
用。 : winnt_accept: Asynchronous AcceptEx failed。可以參考下列配置:
1.網(wǎng)上鄰居->本地連接->屬性->internet協(xié)議(TCP/IP)->屬性->高級->wins標簽->去掉啟用LMhosts查詢前的
勾.
2.控制面版->windows防火墻->高級標簽->本地連接設(shè)置->服務(wù)的標簽里勾選安全Web服務(wù)器(HTTPS)。
3.然后退出Apache,再打開啟動就可以了 ,一開始我沒有退出,直接在那重啟,就是不可以,一定要先停止,在開啟即可
就這樣解決了!
總結(jié)
以上是生活随笔為你收集整理的apache 指定的网络名不再可用 原因及解决方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数据结构——稀疏矩阵三元组表示法+算法详
- 下一篇: 498 元 → 169 元:漫步者 Dr