宝塔面板MySQL数据库经常自动停止运行或者掉线的原因及解决方案!

由于最近站长事情比较多,又加上站长阳了,导致站长手里的某个网站经常时不时无法访问,在排查网站时发现某个网站流量掉了,然后打开显示数据库连接错误,我顿时就知道了这是什么原因,肯定是MySQL数据库自动停止了,一般遇到这种情况说明网站可能遭遇到了小规模CC攻击,数据库或者服务器内存承受不住而掉线了,而且这种情况通常发生在晚上。

这些沙雕也是很狡猾的,大白天的他知道你会盯着网站,所以他们一般晚上才打你,因为晚上我们要睡觉,没这个时间去盯着网站,所以我写了个定时监控脚本,可以定时间监控MySQL、Nginx服务是否停止?

如果停止就执行重启任务,并且记录日志到 /www 目录

监控日志存放的目录:

宝塔面板MySQL数据库经常自动停止运行或者掉线的原因及解决方案!

宝塔面板MySQL数据库经常自动停止运行或者掉线的原因及解决方案!

监控的日志:

宝塔面板MySQL数据库经常自动停止运行或者掉线的原因及解决方案!

宝塔面板MySQL数据库经常自动停止运行或者掉线的原因及解决方案!

解决方案

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

最后效果如下:

宝塔面板MySQL数据库经常自动停止运行或者掉线的原因及解决方案!

宝塔面板MySQL数据库经常自动停止运行或者掉线的原因及解决方案!

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

最后

一般我们只需要添加MySQL和Nginx监控,其他的不需要添加,我只加了前面2个,添加了以后记得测试一下任务是否有效,去宝塔停止MySQL、Nginx,然后执行一下这个任务,看看MySQL和Nginx状态是否开启。至此,就可以解决宝塔面板MySQL数据库经常自动停止运行或者掉线的问题了!

抖音疯传中铁三局是什么梗?到底有什么意思?

上一篇

北京圈钱女好手段!我500块钱卖我20个自测盒拿到手后发现是验孕棒?

下一篇

99%的人还看了

发表评论

插入图片

欢迎登陆本站

 | 注册

在线工具

VIP视频解析
注册

登录

忘记密码 ?