Apache错误:[error] (OS 10038)在一个非套接字上尝试了一个操作 [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. 解决方法 编辑httpd.conf 加入 <IfModule mpm_winnt.c> ThreadsPerChild 1000 MaxRequestsPerChild 10000 Win32DisableAcceptEx </IfModule> 重启apache就解决了。 修改后还是不行,任然有错误记录,CPU占用率是降低了,但是还是没有恢复到原来的状态.logs里面还是一直在记录下面的错误报告。 [Mon Dec 24 16:48:06 2007] [error] (OS 10038)在一个非套接字上尝试了一个操作。 : Too many errors in select loop. Child process exiting. [Mon Dec 24 16:48:06 2007] [notice] Child 1916: Exit event signaled. Child process is ending. [Mon Dec 24 16:48:07 2007] [notice] Child 1916: Released the start mutex [Mon Dec 24 16:48:07 2007] [notice] Child 1916: Waiting for 250 worker threads to exit. [Mon Dec 24 16:48:07 2007] [notice] Child 1916: All worker threads have exited. [Mon Dec 24 16:48:07 2007] [notice] Child 1916: Child process is exiting [Mon Dec 24 16:48:07 2007] [notice] Parent: child process exited with status 0 -- Restarting. [Mon Dec 24 16:48:07 2007] [notice] Apache/2.0.55 (Win32) configured -- resuming normal operations [Mon Dec 24 16:48:07 2007] [notice] Server built: Oct 9 2005 19:16:56 [Mon Dec 24 16:48:07 2007] [notice] Parent: Created child process 3028 [Mon Dec 24 16:48:07 2007] [notice] Disabled use of AcceptEx() WinSock2 API [Mon Dec 24 16:48:07 2007] [notice] Child 3028: Child process is running [Mon Dec 24 16:48:07 2007] [notice] Child 3028: Acquired the start mutex. [Mon Dec 24 16:48:07 2007] [notice] Child 3028: Starting 250 worker threads. [Mon Dec 24 16:48:08 2007] [notice] Child 3028: Listening on port 80. 错误与winsock有关,恢复Winsock的方法: netsh winsock reset 使用此条命令恢复后,重启电脑,这下Apache恢复当原先的良好状态了。 error.log 出项了大量的:Sat Dec 24 17:21:28 2006] [warn] (OS 64)指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.。 如下的一种解决办法,我试了试,果然可以,而且在多台服务器上试过,只要出现了AcceptEx 的问题,就能解决,具体设置为: 1、网上邻居-;本地连接-;属性-;internet协议(TCP/IP)-;属性-;高级-;wins标签-;去掉启用LMhosts查询前的勾. 2、控制面版-;windows防火墙-;高级标签-;本地连接设置-;服务的标签里勾选安全Web服务器(HTTPS)。 3、然后退出Apache,再打开启动就可以了 ,一开始我没有退出,直接在那重启,就是不可以,一定要先停止,在开启即可。 (责任编辑:IT) |