原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。
代码如下:
#!/usr/bin/php
<!--$url = '//www.jb51.net';
$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();
}
}
-->
至于crontab,请自行Google搜索或参考下面的文章
//www.jb51.net/LINUXjishu/19905.html
//www.jb51.net/LINUXjishu/17374.html
您可能感兴趣的文章:深入探讨:Nginx 502 Bad Gateway错误的解决方法Nginx 502 bad gateway和Nginx 504 Gateway Time-out错误解决方法 错误解决办法解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误解决Nginx + PHP(FastCGI)遇到的502 Bad Gateway错误nginx 502 Bad Gateway 错误解决办法
自动
bad
gateway
脚本
Nginx
502