Apache报错指定的网络名不再可用解决方案

By | 2013年12月8日

最近从虚拟主机转到了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解决问题,已正常运行数天。

2 thoughts on “Apache报错指定的网络名不再可用解决方案

发表评论

电子邮件地址不会被公开。 必填项已用*标注