因为我昨天网站疑似碰到宝塔2点半ssl证书死循环bug导致服务器卡死,今天使用这篇文章监控php并做了个记录
支持检测php,nginx,mysql,redis


php:

<?php
$act = $_REQUEST['act'];
if ($act == "site") { //检测网站
    echo "ok";
} elseif ($act == "mysql") { //检测数据库
    $link = mysqli_connect('localhost', '账号', '密码');
    if (!$link) {
        die('Could not connect to MySQL: ' . mysqli_error());
    } else {
        echo 'ok';
        mysqli_close($link);
    }
} elseif ($act == "redis") { //检测数据库
    $redis = new Redis();
    if (!$redis->connect('127.0.0.1', 6379, 5)) {
        die('Could not connect to Redis');
    } else {
        echo 'ok';
    }
}

bash脚本:

site=`curl -s http://地址/check_bt.php?act=site`;
if [[ $site == 'ok' ]] ;then
echo 'php is ok'
    else
        service php-fpm-56 restart
        /etc/init.d/nginx start     
fi
mysql=`curl -s http://地址/check_bt.php?act=mysql`;
if [[ $mysql == 'ok' ]] ;then
echo 'mysql is ok'
    else
        /etc/init.d/mysqld start      
fi
redis=`curl -s http://地址/check_bt.php?act=redis`;
if [[ $redis == 'ok' ]] ;then
echo 'redis is ok'
    else 
        /etc/init.d/redis stop
        /etc/init.d/redis start  
fi

食用说明:

1、将PHP放到你的网站,修改mysqluser和mysqlpasswd分别为你网站的数据库账户和密码;

2、将bash放到你的宝塔计划任务,3分钟执行一次,修改里面的https://vience.dift.cn/isok.php为你的PHP地址;


本文基于以下文章修改

原文地址:宝塔网站异常自动化处理 - KEKC博客-KEKC博客

Last modification:August 21, 2022
如果觉得我的文章对你有用,请随意赞赏