宝塔网站异常自动化处理-文曦博客

2021-11-20 904阅读

温馨提示:这篇文章已超过881天没有更新,请注意相关的内容是否还可用!

 我的网站,有时候会因为某些情况导致PHP、Nginx或者Mysql异常。虽然不是经常发生,一个月1次都很烦,因为异常往往会没发现而导致网站长时间异常。

        于是,我花了一点时间,写了个自动恢复,因为我只有mysql、php和nginx环境,所以比较简单,你也可以类比我这个脚本,写其他环境的判断,我的脚本包含PHP和bash,也不难。

PHP代码:

<?php$act = $_REQUEST['act'];if($act == "site"){//检测网站
    echo "ok";}elseif($act == "mysql"){//检测数据库$link = mysqli_connect('localhost','mysqluser','mysqlpasswd');if (!$link) { 
    die('Could not connect to MySQL: ' . mysqli_error());}else{
    echo 'ok';
    mysqli_close($link);}}

bash代码:

site=`curl -s https://www.vience.cn/isok.php?act=site`;if [[ $site == 'ok' ]] ;then	echo 
    else
		bash /www/server/panel/script/rememory.sh
		service php-fpm-74 restart		/etc/init.d/nginx start      
		exit
fi
mysql=`curl -s https://www.vience.cn/isok.php?act=mysql`;if [[ $mysql == 'ok' ]] ;then	echo 
    else
        bash /www/server/panel/script/rememory.sh   
        /etc/init.d/mysqld start      
        exit
fi

食用说明:

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

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

3、将bash代码中的service php-fpm-74 restart修改为你网站的PHP版本,这里我用的是7.4版本的。