PHP腳本監(jiān)控Nginx 502錯誤并自動重啟php-fpm
更新時間:2015年05月13日 10:15:42 投稿:junjie
這篇文章主要介紹了PHP腳本監(jiān)控Nginx 502錯誤并自動重啟php-fpm,本文直接給出實現(xiàn)代碼,然后放到cron中執(zhí)行,需要的朋友可以參考下
最近服務(wù)器時不時出現(xiàn)Nginx 502 Bad Gateway,如果在電腦旁邊還好,要是半夜或者出去了,怎么辦?
沒關(guān)系,寫個腳本檢測服務(wù)狀態(tài),發(fā)現(xiàn)異常,自動重啟。
自動重啟腳本:
復(fù)制代碼 代碼如下:
<?php
$url = 'http://blog.rebill.info';
$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();
}
}
原理就是用curl獲取HTTP頭,發(fā)現(xiàn)502狀態(tài)碼就執(zhí)行重啟php-fpm的命令。
url和cmd根據(jù)實際情況改成自己的。然后放到crontab里一分鐘執(zhí)行一次。
復(fù)制代碼 代碼如下:
*/1 * * * * /usr/bin/php /root/crontab/nginx502.php
大功告成!
相關(guān)文章
php.ini中date.timezone設(shè)置詳解
本文給大家分享的是php.ini中date.timezone設(shè)置的方法,非常的簡單實用,有需要的小伙伴可以參考下2016-11-11PHP實現(xiàn)的迪科斯徹(Dijkstra)最短路徑算法實例
這篇文章主要介紹了PHP實現(xiàn)的迪科斯徹(Dijkstra)最短路徑算法,簡單描述了迪科斯徹(Dijkstra)最短路徑算法的概念、功能并結(jié)合具體實例形式分析了php實現(xiàn)迪科斯徹(Dijkstra)最短路徑算法的相關(guān)步驟與操作技巧,需要的朋友可以參考下2017-09-09php生成隨機字符串可指定純數(shù)字、純字母或者混合的
這篇文章主要介紹了php生成隨機字符串的實現(xiàn)可指定純數(shù)字、純字母或者混合的2014-04-04