用apache建的网站无法访问,httpd进程cpu占用率居高不下,后来查询apache日志,发现里边有很多如下错误信息

[error] (OS 10038)在一个非套接字上尝试了一个操作。 : Child 1224: Encountered too many errors accepting client connections. Possible causes: dynamic address renewal, or incompatible VPN or firewall software. Try using the Win32DisableAcceptEx directive.
到网上搜索,找到下面的解决方法:

1.

编辑httpd.conf

Win32DisableAcceptEx ##加入这行
ThreadsPerChild 250
MaxRequestsPerChild 0

重启apache就解决了。

修改后还是不行,任然有错误记录,CPU占用率是降低了,但是还是没有恢复到原来的状态.logs里面还是一直在记录错误报告。

2.

与winsock有关,可能会与别的软件有冲突,于是搜索到恢复Winsock的方法:
cmd下
netsh winsock reset

使用此条命令恢复后,重启电脑(我没有重启电脑,只重启了apache就好了),这下Apache恢复当原先的良好状态了