博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【原创】Apache服务器500错误失去响应的问题解决
阅读量:7052 次
发布时间:2019-06-28

本文共 1777 字,大约阅读时间需要 5 分钟。

某生产网站部署在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文件,增加以下内容配置:

ThreadsPerChild 150MaxRequestsPerChild 10000Win32DisableAcceptEx

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

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

勾.

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

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

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

 

[notice] Disabled use of AcceptEx() WinSock2 API

 

转载于:https://www.cnblogs.com/zhangxsh/p/3528769.html

你可能感兴趣的文章
vue axios+springboot 文件下载
查看>>
JS的继承方式
查看>>
掘金广告产品介绍
查看>>
九宫格
查看>>
手把手教你写一个 VSCode 插件
查看>>
cookie和session
查看>>
使用 multipart/x-mixed-replace 实现 http 实时视频流
查看>>
史上最牛内推小组(持续更新)
查看>>
现实中的路由规则,可能比你想象中复杂的多
查看>>
nginx配置gzip中的坑
查看>>
Javascript中的函数声明与函数表达式
查看>>
Python学习笔记 - queue
查看>>
茶器漫谈 高逼格 or 真内涵?
查看>>
HTML5学习之Web Storage基础知识
查看>>
tab切换
查看>>
垃圾回收及内存调试工具的介绍
查看>>
你的接口,真的能承受高并发吗?
查看>>
自定义View实用小技巧
查看>>
iOS CALayer anchorPoint 的应用场景
查看>>
如何變聰明?訓練自己變成結構化思維型的人!- TechMoon 科技月球
查看>>