因为我昨天网站疑似碰到宝塔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地址;
本文基于以下文章修改