首先,我们需要在域名根目录建立一个 c_php.php 文件 内容越少越好,比如下面这个
<?php
echo “zzwsem.net”;
?>
然后建立脚本
此脚本判断原理,如果监控页非 200 就执行下面命令
vi c_php_restart.sh
脚本内容
#!/bin/sh
wget http://www.zzwsem.net/c_php.php –spider
c_php=$?
if [$c_php = “1”];
then
echo “ 您的 vps 出现 502 错误 ” “ 已于 ” $(date +”%y-%m-%d %H:%M:%S”) “ 执行重启 php-cgi” | mail -s “ 邮件标题 ” 1388888888@139.com
/etc/init.d/php-fpm restart
/etc/init.d/mysql restart
echo “ 重启 php-cgi 完毕 ”
fi
上面这个是如果发生 502 错误则自动重启 php-cgi 和 mysql,邮箱可以换成自己的,他会自动发邮件
如果是 lnmpa 环境则需要采用以下脚本
#!/bin/sh
wget http://www.zzwsem.net/c_php.php –spider
c_php=$?
if [$c_php = “1”];
then
echo “ 您的 VPS 出现 504 错误 ” “ 已于 ” $(date +”%y-%m-%d %H:%M:%S”) “ 执行重启 lnmpa” | mail -s “ 邮件标题 ” 1388888888@139.com
/etc/init.d/httpd restart
/etc/init.d/mysql restart
echo “ 重启 lnmpa 完毕 ”
fi
此脚本的意思如果非 200 则自动重启 apache 和 mysql,也可以自己设置重启什么,其中邮箱可以替换成自己的
注:切记监控页一定要更换成自己的
然后是设定权限
chmod 777 /root/c_php_restart.sh
运行定时程序
crontab -e
输入以下内容每隔一分钟检测一次
*/1 * * * * /root/c_php_restart.sh
脚本完成,欢迎大家测试提意见!!!