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