正文:
本文介绍了如何使用PHP脚本监控Nginx 502错误并自动重启php-fpm。我们提供了实现代码,并建议将其放入cron中定时执行。如果你的服务器经常出现Nginx 502 Bad Gateway错误,而你又无法随时在电脑旁边监控,那么这篇文章对你会很有帮助。你可以参考本文的方法来自动检测服务状态并在异常情况下自动重启。
自动重启脚本:
//汇站网 https://www.huizhanii.com
<?php
$url = 'https://www.huizhanii.com';
$cmd = '/usr/local/php/sbin/php-fpm restart';
for($i = 0; $i < 5; $i ++){
$exec = "curl connect-timeout 3 -I $url 2>/dev/null";
$res = shell_exec($exec);
if(stripos($res, '502 Bad Gateway') !== false){
shell_exec($cmd);
exit();
}
}
定时任务脚本
//汇站网 https://www.huizhanii.com
*/1 * * * * /usr/bin/php /root/crontab/nginx502.php
配置完后大功造成!
原理是通过使用curl获取HTTP头,如果发现502状态码,则执行重启php-fpm的命令。根据实际情况,可以将url和cmd更改为自己的。然后将其添加到crontab中,每分钟执行一次。
转载请注明:汇站网 » 使用PHP脚本监控Nginx的502错误,并自动重启php-fpm服务