我的网站,有时候会因为某些情况导致PHP、Nginx或者Mysql异常。虽然不是经常发生,一个月1次都很烦,因为异常往往会没发现而导致网站长时间异常。
于是,我花了一点时间,写了个自动恢复,因为我只有mysql、php和nginx环境,所以比较简单,你也可以类比我这个脚本,写其他环境的判断,我的脚本包含PHP和bash,也不难。
PHP代码:
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代码:
PHP
复制
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版本的。
转载请注明出处 雷电云博客 » 宝塔网站异常自动化处理
评论 - 帐号管理