前言
最近我的服务总是被CC攻击导致了nginx崩溃,服务不可用
我写了个检测nginx服务状态并检查崩溃重启的脚本
#nginx service
#判断是否为root运行
if [ $(id -u) != "0" ]
then
echo "请使用root运行此脚本"
exit 1
fi
netstat -anop | grep 0.0.0.0:80
#判断80端口服务是否在运行
if [ $? -ne 1 ]
then
exit
fi
#输出重启日志
echo $(date +%T%n%F)" Restart nginx Services " >> nginx.log
#/usr/local/nginx/sbin/nginx -s quit
#启动nginx服务
/usr/local/nginx/sbin/nginx
写完先赋个权限
chmod 755 nginx_restart.sh
然后添加定时任务(定时检查)
crontab -e
*/5 * * * * sh /usr/local/nginx/sbin/nginx_restart.sh
每5分钟检查nginx服务是否正常
crontab -l
crontab -l 检查下定时任务是否正常
当然这个只适用于普通方式部署的nginx对于docker部署的,需要自行调整代码
网友评论