如果你的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状态是否开启。
© 版权声明
1.如需技术支持联系QQ:1339833655
2. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
3. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
4. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
5. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
6. 如有链接无法下载、失效或广告,请联系管理员处理!
7. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
8. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员!
THE END
暂无评论内容