原理就是用curl获取HTTP头,发现502状态码就执行重启php-fpm的命令。
#!/usr/bin/php
<!--$url = 'https://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搜索或参考下面的文章
https://www.jb51.net/LINUXjishu/19905.html
https://www.jb51.net/LINUXjishu/17374.html