利用自动重启解决宝塔MySQL数据库Nginx,php经常自动停止或者掉线

如果你的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

最后效果如下:

图片[1]-利用自动重启解决宝塔MySQL数据库Nginx,php经常自动停止或者掉线-青狐资源网

可以设置一分钟或者两分钟检测一次

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

一般我们只需要添加MySQLNginx监控,其他的不需要添加,我只加了前面2个,添加了以后记得测试一下任务是否有效,去宝塔停止MySQL、Nginx,然后执行一下这个任务看看MySQLNginx状态是否开启。

© 版权声明
THE END
喜欢就支持一下吧
点赞339 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容