zoukankan      html  css  js  c++  java
  • apache服务通常启动,但打不开网页,提示Try using the Win32DisableAcceptEx directive (转)

    在apache2.4中Win32DisableAcceptEx改为

    AcceptFilter http none 
    AcceptFilter https none

    原文地址:www.myexception.cn/apache/802653.html

    apache服务正常启动,但打不开网页,提示Try using the Win32DisableAcceptEx directive.

    apache服务正常启动,但打不开网页,

    apache日志如下:

    Apache/2.2.21 (Win32) PHP/5.3.8 configured -- resuming normal operations
    [Tue Oct 09 10:38:50 2012] [notice] Server built: Dec  1 2011 21:30:02
    [Tue Oct 09 10:38:50 2012] [notice] Parent: Created child process 17580
    [Tue Oct 09 10:38:51 2012] [notice] Child 17580: Child process is running
    [Tue Oct 09 10:38:51 2012] [notice] Child 17580: Acquired the start mutex.
    [Tue Oct 09 10:38:51 2012] [notice] Child 17580: Starting 250 worker threads.
    [Tue Oct 09 10:38:51 2012] [notice] Child 17580: Starting thread to listen on port 8080.
    [Tue Oct 09 10:38:51 2012] [error] (OS 10038)在一个非套接字上尝试了一个操作。  : Child 17580: Encountered too many errors accepting client connections. Possible causes: dynamic address renewal, or incompatible VPN or firewall software. Try using the Win32DisableAcceptEx directive.
    [Tue Oct 09 10:38:51 2012] [error] (OS 10038)在一个非套接字上尝试了一个操作。  : Child 17580: Encountered too many errors accepting client connections. Possible causes: dynamic address renewal, or incompatible VPN or firewall software. Try using the Win32DisableAcceptEx directive.
    [Tue Oct 09 10:38:51 2012] [error] (OS 10038)在一个非套接字上尝试了一个操作。  : Child 17580: Encountered too many errors accepting client connections. Possible causes: dynamic address renewal, or incompatible VPN or firewall software. Try using the Win32DisableAcceptEx directive.

    ......

    原因是Apache 的AcceptEx在window下会出现这种问题,只在APAche2.0.49以上版本会有这中问题。 《Apache 2_2 中文版参考手册》上说:“AcceptEx()是一个微软的WinSock2 API ,通过使用BSD风格的accept() API提供了性能改善。一些流行的Windows产品,比如防病毒软件或虚拟专用网络软件,会干扰AcceptEx()的正确操作。如果你遇到类似于如下 的错误:一般的解决办法是关闭 AcceptEx()”。也就是说,可能是 Windows Update 或是防火墙、防毒软件更新了某些网络原件,造成 Microsoft WinSock v2 API 动作不正常,会干扰WinSock2 API,就会影响AcceptEx()的正确操作,就可能出现上面所出现的问题。但是关闭会影响Apache的性能。需要自己权衡利弊。因此如果没有什么 错误发生,最好还是不要随便关闭这个功能比较好吧。


    在httpd.conf文件中添加Win32DisableAcceptEx 标记,


    <IfModule mpm_winnt.c>
         ThreadsPerChild 1000
         MaxRequestsPerChild 10000
         Win32DisableAcceptEx
    </IfModule>



    另一种解决办法,只要出现了AcceptEx 的问题,就能解决,具体设置为: 1、网上邻居-;本地连接-;属性-;internet协议(TCP/IP)-;属性-;高级-;wins标签-;去掉启用LMhosts查询前的勾. 2、控制面版-;windows防火墙-;高级标签-;本地连接设置-;服务的标签里勾选安全Web服务器(HTTPS)。 3、然后退出Apache,再打开启动就可以了


    以上方案都试过,但是还不管用,
    后来又查了下,试了下重置winsock就OK了


    命令行中执行:netsh winsock reset

    来源:http://roov.org/2013/12/apache-acceptex-failed/

    Apache报错指定的网络名不再可用解决方案

     Apache问题。在查看error log之后发现有这么一行:“(OS 64)指定的网络名不再可用。  : AH00341: winnt_accept: Asynchronous AcceptEx failed.”

    翻阅了不少网络文章,大多数表示需要使用Win32DisableAcceptEx,但reizhi在尝试后未果。将全部调试步骤罗列如下,希望能够有所帮助。

    系统环境:Windows  2003r2

    Apache版本:2.4

    1.打开httpd.conf,添加以下代码:

    <IfModulempm_winnt.c>
    ThreadsPerChild 1000
    MaxRequestsPerChild   10000
    Win32DisableAcceptEx
    </IfModule>

    2.将ThreadsPerChild选项从默认的250或者更多,降至170以下

    ThreadsPerChild170

    3.

    网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的勾。

    控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。 
    4.在httpd.conf中添加以下代码

    AcceptFilter http none 
    AcceptFilter https none 
    EnableSendfileOffEnableMMAP off
  • 相关阅读:
    python基础(五)——CGI编程
    python基础(六)——mysql的使用
    python基础(七)——网络编程
    python基础(八)——多线程
    python面试题
    linux日志管理
    linux之nagios安装教程
    【华为云技术分享】盘点物联网常用开发板
    数据库“意外失联”?华为云DRS异地多活灾备为您支招
    如何处理暗数据?
  • 原文地址:https://www.cnblogs.com/dgjunjie/p/3667805.html
Copyright © 2011-2022 走看看