最近一次下班路上,用户这边突然反应连不上app,app上跳转网页都出现error,当时我第一反应是我们这边服务器down了,但是后来检查发现是nginx炸了,重启以后问题解决,但是为什么nginx会炸?翻看了各种日志,也没找到什么具体原因,后来只好写个脚本监听80端口,挂掉自动重启
1.shell脚本nginx_restart.sh放在/usr/local/nginx/sbin下
#!/bin/bash
#author: Lucas.Yuan
#www.jyguagua.com
#Monitor nginx service
#check root user
if [ $(id -u) != "0" ]
then
echo "Not the root user! Try using sudo command!"
exit 1
fi
netstat -anop | grep 0.0.0.0:80
if [ $? -ne 1 ]
then
exit
fi
echo $(date +%T%n%F)" Restart nginx Services " >> nginx.log
#/usr/local/nginx/sbin/nginx -s quit
/usr/local/nginx/sbin/nginx
2.加入Linux crontab自动任务
crontab -e进入
进行编写
*/5 * * * * sh /usr/local/nginx/sbin/nginx_restart.sh
wq保存退出
这边存放文件地址是/var/spool/cron
来源:http://www.jyguagua.com/?p=3727