首页 > 代码库 > Apache服务停止:信号灯超时时间已到,指定的网络名不再可用
Apache服务停止:信号灯超时时间已到,指定的网络名不再可用
环境说明:Apache2.4.10,Windows Server 2008 R2
问题说明:
apache服务用于下载文件,但是在运行一段时间后,突然挂了。
其错误提示如下所示:
[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.
[error] (OS 10038) : Child 3356: Encountered too many errors accepting client connections. Possible causes: dynamic address renewal, or incompatible VPN or firewall software. Try using the Win32DisableAcceptEx directive.
[warn] (OS 121)信号灯超时时间已到。 : winnt_accept: Asynchronous AcceptEx failed.
[warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
解决办法:
Apache官方提供的手册中提到,在Windows系统下Apache2.x为了提高性能而使用了Microsoft WinSock v2 API,但是一些常见的防火墙软件会破坏他的正确性,从而使得Apache出现死循环。
增加或修改httpd.conf配置:
AcceptFilter http none
AcceptFilter https none
EnableMMAP off
EnableSendfile off
通过上述的配置,再也没有出现过上述报错。
Apache服务停止:信号灯超时时间已到,指定的网络名不再可用