apache winnt_accept: Asynchronous AcceptEx failed 导致时常卡住解决办法

在VPS搭建了Apache2.4.12+PHP的环境,启动服务,网站访问一切正常,然而网站总是过一段时间之后就出现访问异常挂起,浏览器长时间等待服务器无法打开网页的现象,尤其是在使用IE打开几次网页后就会出现这种问题,打开Windows程序日志查看也没发现什么异常信息,查看Apache的日志我发现了几条异常的记录,其信息如下:apachehangerro

[Sat May 23 14:17:42.067403 2015] [mpm_winnt:warn] [pid 1936:tid 8692] (OS 64)指定的网络名不再可用。  : AH00341: winnt_accept: Asynchronous AcceptEx failed.

按照错误信息的提示我Google了一下原因,这是因为Apache2.4.X在SSL上的一个Bug,这会导致服务器挂起,浏览器就只能长时间等待导致访问失败。

解决方案:

在你的Apache的httpd.conf配置文件中添加下面的配置,然后重启Apache
AcceptFilter http none
AcceptFilter https none
EnableSendfile off
EnableMMAP off

上面的四个配置的后面两个默认情况下是开启的,我只配置了前面的两个AcceptFilter就解决了问题,你可以根据Apache的官方文档开启或者关闭,在这里http://httpd.apache.org/docs/current/mod/core.html 你通过Ctrl+F查找到EnableSendfile和EnableMMAP的说明。

猜你喜欢

转载自blog.csdn.net/kongdeqian1988/article/details/81535580
今日推荐