如果你的nginx,mysql乃至php偶尔会异常停止,这个帖就很有必要设置一下。
一般情况下是服务器负载,或者被攻击,或者哪里的程序的问题导致。
但是一旦掉线了,是很影响你的业务的,又没法一直盯着。
设置一下自动任务,即可自动执行,异常自动重启。
解决方案
1、MySQL监控
宝塔面板—>计划任务,输入任务名称、执行周期、脚本内容
脚本内容如下:
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ];then
bash /www/server/panel/script/rememory.sh
/etc/init.d/mysqld start
echo "监控到MySQL已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/mysql_jiankong.log
fi
最后效果如下:
可以设置一分钟或者两分钟检测一次
2、Nginx监控
宝塔面板—>计划任务,输入任务名称、执行周期、脚本内容
脚本内容如下:
pgrep -x nginx &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/nginx start
echo "监控到Nginx已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/Nginx_jiankong.log
fi
3、PHP监控
宝塔面板—>计划任务,输入任务名称、执行周期、脚本内容
脚本内容如下:
注意:下面第3行代码中的52~73是指php版本5.2 7.3
pgrep -x php-fpm &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/php-fpm-{52|53|54|55|56|70|71|73} restart
echo "监控到php已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/php_jiankong.log
fi
4、redis监控
脚本内容如下:
pgrep -x redis &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/redis start
fi
5、memcached监控
脚本内容如下:
pgrep -x memcached &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/memcached restart
fi
服务器自动重启:(这个可以选择在凌晨3-4点重启,选择你站点没人的时候,以免影响别人,自行斟酌)
reboot
一般我们只需要添加MySQL和Nginx监控,其他的不需要添加,我只加了前面2个,添加了以后记得测试一下任务是否有效,去宝塔停止MySQL、Nginx,然后执行一下这个任务,看看MySQL和Nginx状态是否开启。
查看更多心仪的内容 按Ctrl+D收藏我们
部分内容来自于网络 如有不妥联系站长删除
小Z博客欢迎前来投稿文章
© 版权声明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络收集整理,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!
THE END
暂无评论内容