总有人间一两风,填我十万八千梦

Apache2.4.X AH00341: winnt_accept: Asynchronous AcceptEx failed,导致网站访问异常的问题

软件技巧 Zero、J 6723℃ 0评论

apache

在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的说明。

PS:如果你需要下载Apache2.4.12的64位版本的可以到这里:http://www.apachelounge.com/download/

转载请注明:悠然品鉴 » Apache2.4.X AH00341: winnt_accept: Asynchronous AcceptEx failed,导致网站访问异常的问题

喜欢 (3)or分享 (0)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址