正文:
本文介绍了如何使用 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 服务