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