zoukankan      html  css  js  c++  java
  • 【原创】Apache服务器500错误失去响应的问题解决

    某生产网站部署在Apache上,使用tomcat集群,偶尔网站失去响应,查看首页发现无法打开,页面假死,出现过多次,查看apache的日志,发现经常出现以下提示:

    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.
    [Fri Dec 27 13:48:15 2013] [warn] (OS 64)指定的网络名不再可用。  : winnt_accept: Asynchronous AcceptEx failed.

    研究之下,发现这和windows系统的一个特性有关:

    Apache MPM winnt

    说明 专门为Windows NT优化过的MPM
    状态 MPM
    模块名 mpm_winnt_module
    源文件 mpm_winnt.c

    概述

    该多路处理模块(MPM)是Windows NT上的默认值。它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。

    Win32DisableAcceptEx 指令
    说明 使用accept()代替AcceptEx()接受网络链接
    语法 Win32DisableAcceptEx
    默认值 AcceptEx()是默认的,使用这个指令将禁用它。
    作用域 server config
    状态 MPM
    模块 mpm_winnt
    兼容性 仅在 Apache 2.0.49 及以后的版本中可用

    AcceptEx()是一个微软的WinSock2 API ,通过使用BSD风格的accept() API提供了性能改善。一些防毒软件或者其他因素导致该特性不可用,造成了apache的拒绝服务。

    解决办法:

    修改httpd.conf文件,增加以下内容配置:

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

    如果还是出现以上的报错信息,则可以尝试如下配置:

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

    2、控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。

    3、然后退出Apache,再打开启动就可以了,一开始我没有退出,直接在那重启,就是不可以,一定要先停止,在开启即可。

    然后重启apache后,发现已经正确的载入了配置:在日志中可以发现notice信息。

    [notice] Disabled use of AcceptEx() WinSock2 API
  • 相关阅读:
    LeetCode 275. H-Index II
    LeetCode 274. H-Index
    LeetCode Gray Code
    LeetCode 260. Single Number III
    LeetCode Word Pattern
    LeetCode Nim Game
    LeetCode 128. Longest Consecutive Sequence
    LeetCode 208. Implement Trie (Prefix Tree)
    LeetCode 130. Surrounded Regions
    LeetCode 200. Number of Islands
  • 原文地址:https://www.cnblogs.com/zhangxsh/p/3528769.html
Copyright © 2011-2022 走看看