【紧急】Apache在Win2003 server服务器上配置有关问题
程序员文章站
2022-05-17 11:45:25
...
【紧急】Apache在Win2003 server服务器上配置问题
服务器环境:windows2003 server + apache + mysql + php + iis
服务器硬件:酷睿双核 + 2.5G内存 + 250G硬盘
最近服务器频繁宕机,观察windows任务管理器发现Apache的httpd.exe进程狂吃内存,PF从800M直飙升到2.0G然后宕机。具体表现的现象有如下几点:
1.mysqld.exe占用cpu平均高达80%以上。
2.httpd.exe开机后内存占用增加速度飞快。
3.重启后不到5分钟又宕机。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
5.夜间比较稳定,一到白天就频繁宕机。
apache当前参数配置如下
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
ThreadsPerChild 350
MaxRequestsPerChild 5000
Win32DisableAcceptEx
请问我该怎么办才能让服务器稳定下来?
------解决方案--------------------
很邪门啊,难道是你电脑中毒拉。
------解决方案--------------------
先看看日志吧,
------解决方案--------------------
看出错日志
另外php什么版本的?
还有一个可能是访问 ip太多了,你得修改一下你上面的参数 把数值都改小点.
------解决方案--------------------
你的那条错误是 因为加了Win32DisableAcceptEx 产生的,这个并不算是错误。
我以前也碰过你说的问题,不过一样的没有找到最根本的解决方法,只能够去修改
ThreadsPerChild 350
MaxRequestsPerChild 5000
的数量来让apache 自动在达到一定的数量时产生一个新的进程.忘记是不是这样描述了。
访问的数量多不多可以在网站加个统计链接,看看是不是流量过大,如果是的话 我还是建议将
apache php mysql 部署到linux上吧, win下的apache 真的是很无奈...
另外一个你或者可以考虑换成nginx 不过这个早期版本我测试的时候比apache还不稳定...
如果非要windows 那还是上iis+php+mysql 吧.
------解决方案--------------------
ThreadsPerchild和MaxRequestsPerchild值分别为1000和5000
太高啦...
你原来的数值我就觉得太高了,忘记跟你说了
往小的设置 分别设置到
ThreadsPerChild 100
MaxRequestsPerChild 300
看看什么情况.
------解决方案--------------------
我也遇到过这种情况。
怎么都解决不了。
当时一直以为服务器被劫持。就重做了系统。可是情况依然。
之后就一遍一遍的检查源码。。。
是的。别人植入 代码,一直向外发包。之后。。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
(隔一会就好了)
应该是重启了。。。
服务器环境:windows2003 server + apache + mysql + php + iis
服务器硬件:酷睿双核 + 2.5G内存 + 250G硬盘
最近服务器频繁宕机,观察windows任务管理器发现Apache的httpd.exe进程狂吃内存,PF从800M直飙升到2.0G然后宕机。具体表现的现象有如下几点:
1.mysqld.exe占用cpu平均高达80%以上。
2.httpd.exe开机后内存占用增加速度飞快。
3.重启后不到5分钟又宕机。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
5.夜间比较稳定,一到白天就频繁宕机。
apache当前参数配置如下
# WinNT MPM
# ThreadsPerChild: constant number of worker threads in the server process
# MaxRequestsPerChild: maximum number of requests a server process serves
ThreadsPerChild 350
MaxRequestsPerChild 5000
Win32DisableAcceptEx
请问我该怎么办才能让服务器稳定下来?
------解决方案--------------------
很邪门啊,难道是你电脑中毒拉。
------解决方案--------------------
先看看日志吧,
------解决方案--------------------
看出错日志
另外php什么版本的?
还有一个可能是访问 ip太多了,你得修改一下你上面的参数 把数值都改小点.
------解决方案--------------------
你的那条错误是 因为加了Win32DisableAcceptEx 产生的,这个并不算是错误。
我以前也碰过你说的问题,不过一样的没有找到最根本的解决方法,只能够去修改
ThreadsPerChild 350
MaxRequestsPerChild 5000
的数量来让apache 自动在达到一定的数量时产生一个新的进程.忘记是不是这样描述了。
访问的数量多不多可以在网站加个统计链接,看看是不是流量过大,如果是的话 我还是建议将
apache php mysql 部署到linux上吧, win下的apache 真的是很无奈...
另外一个你或者可以考虑换成nginx 不过这个早期版本我测试的时候比apache还不稳定...
如果非要windows 那还是上iis+php+mysql 吧.
------解决方案--------------------
ThreadsPerchild和MaxRequestsPerchild值分别为1000和5000
太高啦...
你原来的数值我就觉得太高了,忘记跟你说了
往小的设置 分别设置到
ThreadsPerChild 100
MaxRequestsPerChild 300
看看什么情况.
------解决方案--------------------
我也遇到过这种情况。
怎么都解决不了。
当时一直以为服务器被劫持。就重做了系统。可是情况依然。
之后就一遍一遍的检查源码。。。
是的。别人植入 代码,一直向外发包。之后。。
4.远程连接无预兆的中断,远程桌面连接一旦中断,网站便无法访问,IP也无法ping通。
(隔一会就好了)
应该是重启了。。。
相关文章
相关视频
上一篇: 真正高效的SQLSERVER分页查询