最近从虚拟主机转到了VPS之后自由了许多,但是也多了不少问题。在弄好了MySQL之后Apache又出了问题,具体表现是网站每过一定时间就无法打开,静态页面也无法访问。重启Apache后恢复,确认为Apache问题。在查看error log之后发现有这么一行:“(OS 64)指定的网络名不再可用。 : AH00341: winnt_accept: Asynchronous AcceptEx failed.”
翻阅了不少网络文章,大多数表示需要使用Win32DisableAcceptEx,但reizhi在尝试后未果。将全部调试步骤罗列如下,希望能够有所帮助。
系统环境:Windows 2003r2
Apache版本:2.4
1.打开httpd.conf,添加以下代码:
代码语言:javascript复制<IfModule mpm_winnt.c>
ThreadsPerChild 1000
MaxRequestsPerChild 10000
Win32DisableAcceptEx
</IfModule>
2.将ThreadsPerChild选项从默认的250或者更多,降至170以下
代码语言:javascript复制ThreadsPerChild 170
3.
网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾。
控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。 4.在httpd.conf中添加以下代码
代码语言:javascript复制AcceptFilter http none
AcceptFilter https none
EnableSendfile Off
EnableMMAP off
reizhi最终使用方法4解决问题,已正常运行数天。