说明:
操作系统:CentOS
web服务器:apache
问题:
搜索引擎的爬虫导致网站在某一段时间内访问量剧增,服务器压力过大,网站访问超时、页面无法打开。
解决办法:
定时监控服务器负载,超过一定阀值后,自动重启web服务。
apache安装目录:/usr/local/apache
脚本运行日志文件:/usr/local/apache/check_cpu_load.log
脚本存放目录:/home/crontab
cd /home/crontab
vi check_cpu_load.sh #编辑,添加以下代码
#!/bin/sh
#crontab: */5 * * * * /home/crontab/check_cpu_load.sh >> /usr/local/apache/check_cpu_load.log
TOP_SYS_LOAD_NUM=3
SYS_LOAD_NUM=`uptime | awk '{print $(NF-2)}' | sed 's/,//'`
echo $(date +"%y-%m-%d") `uptime`
if [ `echo "$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM"|bc` -eq 1 ]
then
echo "#0#" $(date +"%y-%m-%d %H:%M:%S") "pkill httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log
/usr/local/apache/bin/apachectl stop
sleep 5
pkill httpd
sleep 5
for i in 1 2 3
do
if [ `pgrep httpd | wc -l` -le 0 ]
then
/usr/local/apache/bin/apachectl start
sleep 30
echo "#1#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log
fi
done
else
if [ `pgrep httpd | wc -l` -le 0 ]
then
/usr/local/apache/bin/apachectl start
sleep 30
echo "#2#" $(date +"%y-%m-%d %H:%M:%S") "start httpd" `ps -ef | grep httpd | wc -l` >> /usr/local/apache/check_cpu_load.log
fi
fi
:wq! #保存退出
crontab -e #添加计划任务
*/5 * * * * /home/crontab/check_cpu_load.sh >> /usr/local/apache/check_cpu_load.log
:wq! #保存退出
service crond restart #重启计划任务
通过以上设置后,当服务器负载超过3时,在5分钟内会自动运行脚本,重启apache服务,使网站恢复访问
热血大作战 安卓最新版v2.1.166
下载凡尔赛法环免广告版 最新版v1.69.1
下载天煞异种 安卓版v1.0.21
下载十三月 (Undecember)最新官方中文版v3.26.0200
下载星露谷物语sve 安卓版v1.5.6.52
星露谷物语sve手机版是游戏的超大拓展Mod内容,全称Sta
动物园大亨 手机版v2.0
动物园大亨是一款模拟动物园经营的休闲放置游戏,采用了卡通画风
蜜蜂园林钞票不减反增版 v0.1.68
蜜蜂园林无限道具版是游戏的破解版本,在该版本中为玩家提供了足
幻想熔炉失落帝国的世界 安卓版v2.16.2
幻想熔炉失落帝国的世界是一款魔法卡通风格的城市模拟经营类游戏
我的女友是声优免广告 安卓版v1
我的女友是声优免广告是一款非常好玩的模拟经营类手游,玩家在游