Wordpress教程 2024年12月30日
0 收藏 0 点赞 32 浏览 2317 个字

2024.12.17更新增加一个综合服务器环境监测自动重启版。网站时不时会报错,或者Nginx或者PHP的,用于宝塔面板PHP-Nginx-Mysql检测并自动重启Shell脚本代码分享,包括memcached和Redis(我虽然是WordPress,但理论上宝塔通用)。

 

宝塔面板PHPNginxMysql-RedisMem监测并自动重启脚本

 

1.shell代码添加方法

宝塔面板——计划任务——Shell脚本,时间自行设定

 

宝塔面板PHPNginxMysql-RedisMem监测并自动重启脚本

 

2.综合环境检测重启版

2.1 脚本代码

宝塔面板相关

脚本代码如下:

#!/bin/bash
# 监控并自动重启 Nginx、PHP-fpm、MySQL、Redis 和 Memcachedhttps://www.xcbtmw.com/18654.html
# 日志文件路径
LOG_FILE="/www/xcbtmw_services_jiankong.log"

# 监测并重启,注意php版本号
restart_service() {
    local service=$1
    local init_script=$2
    pgrep -x $service &> /dev/null
    if [ $? -ne 0 ]; then
        if [ -f $init_script ]; then
            $init_script start
            echo "监控到$service已停止,已执行重启计划,时间: $(date '+%Y-%m-%d %H:%M:%S')" >> $LOG_FILE
        else
            echo "错误:尝试启动$service失败,因为启动脚本$init_script不存在。" >> $LOG_FILE
        fi
    fi
}

# 检查并重启 Nginx
restart_service "nginx" "/etc/init.d/nginx"

# 检查并重启 PHP(注意版本号)
restart_service "php-fpm" "/etc/init.d/php-fpm-81"

# 检查并重启 MySQL
restart_service "mysqld" "/etc/init.d/mysqld"

# 特殊处理 MySQL 需要执行的额外脚本
pgrep -x mysqld &> /dev/null
if [ $? -ne 0 ]; then
    bash /www/server/panel/script/rememory.sh
fi

# 检查并重启 Redis
restart_service "redis" "/etc/init.d/redis"

# 检查并重启 Memcached
restart_service "memcached" "/etc/init.d/memcached"

2.2 功能说明

基本都写全了,如果你没有安装某个服务,也会直接提示,不影响代码运行

  • Nginx: 监控并尝试重启 Nginx 服务。
  • PHP-fpm: 监控并尝试重启特定版本(例如 8.1)的 PHP-fpm 服务。
  • MySQL: 监控并尝试重启 MySQL 服务。
  • Redis: 监控并尝试重启 Redis 服务。
  • Memcached: 监控并尝试重启 Memcached 服务。

2.3 日志文件

路径为:/www/xcbtmw_services_jiankong.log,当然在计划任务界面也可以看到

所有服务重启代码老白博客均已测试,下图是我停止所有服务后运行的结果

 

宝塔面板PHPNginxMysql-RedisMem监测并自动重启脚本

 

下面是单独的代码,如果你并不需要全部监测的话

3.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

自动重启

/etc/init.d/nginx restart

4.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
说明
根据安装PHP版本号做更改,示例给的是PHP56

5.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

6.Redis和memcached

/etc/init.d/memcached restart
/etc/init.d/redis restart

Redis检测并自动重启

ps=`ps -efl|grep redis|grep -v $0|grep -v grep|wc -l`
if [ $ps -eq 0 ];
then
    echo -e "n$(date '+%Y-%m-%d %H:%M:%S') start "
    /etc/init.d/redis start
    echo "$(date '+%Y-%m-%d %H:%M:%S') done"
else
    echo $(date +%F%n%T) "redis正在运行..."
    exit 0;
fi

7.重启服务器(Linux)

reboot

更多宝塔面板实用教程见文末标签。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.mizhanw.com/blog/4992.html

相关推荐
WordPress去除/禁止后台侧栏插件-主题-版本更新提示
今天使用了张戈修改的nginx-help插件修改版,官方版并无自动重启功能,因此不能更新。但是这WordPress后台一直有更新提示,这可真…
日期:2024-12-30 点赞:0 阅读:43
WordPress网站js防扒代码-禁止右键/F12/调试自动关闭窗口
网站防扒老生常谈了,今天老白博客@老白也给大家分享一下从网上看到的“WordPress网站防扒代码/禁止F12调试教程-以7b2主题为例” …
日期:2024-12-30 点赞:0 阅读:59
WordPress优化加速之导航菜单栏缓存Menu Cache
今天老白博客@老白给大家分享又一个WordPress优化加速教程:“导航菜单栏缓存WordPress插件Menu Cache”。我们都知道数…
日期:2024-12-30 点赞:0 阅读:45
2024基于网站性能测试的WordPress优化指南
老白博客WordPress优化高级教程:在如今5G遍地走,千兆多如狗的高速网络时代,如果你访问网站,还出现转圈圈的情况,那么你十有八九是要关…
日期:2024-12-30 点赞:0 阅读:50
WP网站用户行为监测回放插件nicen-replay
在数字营销的世界里,了解用户行为是提升用户体验和转化率的关键。老白推荐一款炫酷的WordPress插件:nicen-replay 。它能够让…
日期:2024-12-30 点赞:0 阅读:48
2024新WordPress缓存插件atec Cache APCu
WordPress插件atec Cache APCu 是一款2024年才投入使用的的高效缓存插件,与其他内存缓存选项(如 Redis 和 M…
日期:2024-12-30 点赞:0 阅读:65
发表评论
暂无评论

还没有评论呢,快来抢沙发~