Apache2+PHP在Windows2000下不稳定解决方案


1  制作一个bat文件在计划任务里面定期(每天夜里)执行:然后删除旧的日志文件,避免文件过大
apache -k shutdown

move /Y access_log access_log.old
move /Y error_log error_log.old

apache -k start

2 [httpd.conf]
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild  30 <- 这个可以为100,但最好不要为0
Win32DisableAcceptEx <-这个
</IfModule>

3 使用更详细日志捕捉死机时访问的页面

LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
记录refer可以帮助确认发生问题的请求来自什么页面,以判断是否受到攻击

可以使用"%400,501{User-agent}i"  "%!200,304,302{Referer}i"  来捕捉特定需要的log

4 在计算机管理->性能中,启动性能日志和警报->计数器日志->System Overview。根据一段时间的监测的数据,在系统监视器里面查看,找到发生死机的异常时候,内存,CPU的极值的规律。然后在警报里面,如果超过,或接近某个极值,执行重起apache命令。

5 无论如何在你的程序里面加上缓存机制:无论是通过生成静态html页面或者设置meta expired为几分钟

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3