宝塔面板自动重启MySQL/Nginx/php解决服务器负载过高

很多使用宝塔面板运营网站的网友会遇到服务器负载过高的情况,出现这种情况的原因可能是MySQL数据库、Nginx和php等服务出现异常导致的,一旦出现持续时间较长的服务器负载过高,就有可能导致网站无法访问,为了保证网站的稳定性和可用性,我们可以使用宝塔面板的自动重启功能,一旦出现MySQL/Nginx/php这些服务导致的负载过高问题,就能实现自动重启。

1、打开并登录自己服务器的宝塔面板;

宝塔面板自动重启MySQL/Nginx/php解决服务器负载过高

2、如上图所示,点击左侧菜单的「计划任务」,然后点击天街计划任务,任务类型选择「Shell脚本」,任务名称自定义,执行周期可以按照自己的需要进行设置,脚本内容如下:

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

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

PHP进程监控自动重启脚本

pgrep -x php-fpm &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/php-fpm-74 restart
echo "监控到php已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/php_jiankong.log 
fi

以上代码中的php-fpm-74需要按照自己的php版本修改,如php7.2,那么就应该是php-fpm-72。

以下还有一些常见的服务进程监控自动重启脚本:

redis进程监控自动重启脚本:

pgrep -x redis &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/redis start
fi

memcached进程监控自动重启脚本:

pgrep -x memcached &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/memcached restart
fi

相关文章