【原创】Apache服务器500错误失去响应的问题解决
某生产网站部署在Apache上,使用tomcat集群,偶尔网站失去响应,查看首页发现无法打开,页面假死,出现过多次,查看apache的日志,发现经常出现以下提示:
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
[Fri Dec :: ] [warn] (OS )指定的网络名不再可用。 : winnt_accept: Asynchronous AcceptEx failed.
研究之下,发现这和windows系统的一个特性有关:
Apache MPM winnt
| 说明 | 专门为Windows NT优化过的MPM |
|---|---|
| 状态 | MPM |
| 模块名 | mpm_winnt_module |
| 源文件 | mpm_winnt.c |
概述
该多路处理模块(MPM)是Windows NT上的默认值。它使用一个单独的父进程产生一个单独的子进程,在这个子进程中轮流产生多个线程来处理请求。
| 说明 | 使用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 MaxRequestsPerChild Win32DisableAcceptEx </IfModule>
如果还是出现以上的报错信息,则可以尝试如下配置:
1、网上邻居->本地连接->属性->internet协议(TCP/IP)->属性->高级->wins标签->去掉启用LMhosts查询前的
勾.
2、控制面版->windows防火墙->高级标签->本地连接设置->服务的标签里勾选安全Web服务器(HTTPS)。
3、然后退出Apache,再打开启动就可以了,一开始我没有退出,直接在那重启,就是不可以,一定要先停止,在开启即可。
然后重启apache后,发现已经正确的载入了配置:在日志中可以发现notice信息。
[notice] Disabled use of AcceptEx() WinSock2 API
【原创】Apache服务器500错误失去响应的问题解决的更多相关文章
- APACHE服务器500错误解决方法
1.APACHE没开启rewrite模块. 解决办法:编辑apache的http.conf文件,找到#LoadModule rewrite_module modules/mod_rewrite.so, ...
- apache的500错误是写到哪个文件里面
apache的500错误是写到哪个文件里面
- 在Linux系统上查看Apache服务器的错误日志
错误日志和访问日志文件为系统管理员提供了有用的信息,比如,为 Web 服务器排障,保护系统不受各种各样的恶意活动侵犯,或者只是进行各种各样的分析以监控 HTTP 服务器.根据你 Web 服务器配置的不 ...
- zabbix 服务器500错误,解决故障。
ZABBIX 500错误,查看apache错误日志,index.php 32 line.写着语法错误!!! 到路径下打开/var/www/html/zabbix/index.php文件,定位32行,可 ...
- Fileupload控件导致500错误
问题: 今天遇到一个问题,用Fileupload控件上传Excel文件,用一个button控件调用“FileUpload1.SaveAs”方法,点击按钮后出现服务器500错误.如下图: 解决方法: 在 ...
- http 500错误怎么解决方法
出现500错误的原因是很多的,一般来说,如果程序出错,那么在浏览器内会返回给用户一个友好的错误提示,统一称之为服务器500错误. 解决的方法就是您必须在http中能够正确的获得错误信息,方法为:请打开 ...
- 给Apache加载rewrite模块后,服务器返回500错误,以及a2enmod命令
我的机子是Ubuntu. 今天想给url做一个rewrite,让url看起来更漂亮一点.在Apache配置文件(我的是 /etc/apache/apache2.conf)文件中已经把AllOverri ...
- ajax 请求 服务器 响应内容过长 返回500错误的解决方法
在web.config试试加上 <system.web.extensions> <scripting> <webServices> <jsonSerializ ...
- (C#)调用Webservice,提示远程服务器返回错误(500)内部服务器错误
因为工作需要调用WebService接口,查了下资料,发现添加服务引用可以直接调用websevice 参考地址:https://www.cnblogs.com/peterpc/p/4628441.ht ...
随机推荐
- SQLSERVER 链接服务器执行存储过程
1.创建链接服务器 exec sp_addlinkedserver 'server_tmp','','SQLOLEDB','192.168.1.1' -- server_tmp 为别名 exec sp ...
- 列表查询组件代码, 简化拼接条件SQL语句的麻烦
列表查询组件代码, 简化拼接条件SQL语句的麻烦 多条件查询
- RePlace函数
<html><body> <script type="text/javascript"> var str="Visit qq1!&qu ...
- CorelDRAW结合Photoshop绘制女性服装效果图
今天小编为大家分享CorelDRAW结合PS绘制女性服装效果图,教程真的很不错,很值得大家学习,有兴趣的朋友赶快行动起来吧! CDR下载:http://pan.baidu.com/s/1cD4buQ ...
- hdu 1240(三维广搜)
题意: 有一个n*n*n的三维空间. 给你起始坐标和终点坐标.要你从起点到终点,问最少需要多少步走出去.如果走不出去则输出"NO ROUTE". 空间中 'O' 表示这个点可以走, ...
- uva 11300 Spreading the Wealth_数学推倒 + 思维
这道题和负载平衡问题是同一道题, 如果 n<=100n <= 100n<=100 的话是可以用最小费用流来求解的. 但是题中 nnn 最大可达到 10610^6106, 这就需要我们 ...
- P3376 【模板】网络最大流(luogu)
P3376 [模板]网络最大流(luogu) 最大流的dinic算法模板(采取了多种优化) 优化 时间 inline+当前弧+炸点+多路增广 174ms no 当前弧 175ms no 炸点 249 ...
- vim配置C++开发环境 win10
资料一 —— vim插件的安装 https://www.cnblogs.com/tianzhiyi/p/5338032.html 资料二 —— vim多窗口操作: https://blog.csdn. ...
- ES6 学习6 数组的扩展
本章学习要点: 扩展运算符 Array.from() Array.of() 数组实例的 copyWithin() 数组实例的 find() 和 findIndex() 数组实例的 fill() 数组实 ...
- JS生成数字加减乘法验证码
给大家分享一个简单的js验证码生成代码 PS:该代码依赖Jquery1.4版本以上 传入元素 如productionVerificationCode(#\(("a")) 反回验证码 ...