当站长使用宝塔建站时,可能会遇到以下问题:
- 服务崩溃或停止运行:这可能是由于服务器故障、配置错误、资源耗尽等原因导致的。宝塔面板可以自动检测服务的状态,并在发现服务停止运行时尝试自动重启。
- 例如,如果 PHP、Redis、MySQL 或 Nginx 服务停止运行,宝塔面板会自动尝试重新启动这些服务,以确保网站的正常运行。
下面介绍一些自动重新的shell指令脚本
PHP监控
#!/bin/bash
# Linux监控PHP服务,关闭就自动重启
pgrep -x php-fpm &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/php-fpm-56 restart
echo "监控到php56已停止,已执行重启计划,时间: `date "+%Y-%m-%d %H:%M:%S"` " >> /www/php_jiankong.log
fi
redis监控
#!/bin/bash
# Linux监控redis服务,关闭就自动重启
pgrep -x redis &> /dev/null
if [ $? -ne 0 ];then
/etc/init.d/redis start
fi
MySQL监控
#!/bin/bash
# Linux监控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监控
#!/bin/bash
# Linux监控Nginx服务,关闭就自动重启
nginx_procnum=`ps -ef|grep "nginx"|grep -v grep|wc -l`
if [ $nginx_procnum -eq 0 ]
then
echo $(date) "Success,Nginx重启成功!" >> /var/log/nginxmonitor.log
/etc/init.d/nginx start
else
sleep 5
echo "Nginx正常运行中..."
fi