最近从虚拟主机转到了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,添加以下代码:
<IfModule mpm_winnt.c> ThreadsPerChild 1000 MaxRequestsPerChild 10000 Win32DisableAcceptEx </IfModule>
2.将ThreadsPerChild选项从默认的250或者更多,降至170以下
ThreadsPerChild 170
3.
网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾。
控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。
4.在httpd.conf中添加以下代码
AcceptFilter http none AcceptFilter https none EnableSendfile Off EnableMMAP off
reizhi最终使用方法4解决问题,已正常运行数天。
我的后台也遇到很多这样的错误。看了你的文章,还是不明白这个错误的原因是什么?
之前用win主机时候遇到的,现在已经转linux了