首頁 / 網站建設 / NGiNX 502 Bad Gateway 自動重啟腳本
Logo

NGiNX 502 Bad Gateway 自動重啟腳本

NGiNX為何會502呢~ 大多都是PHP-FPM死蹺翹了,我在AceLNMP那篇文章中也有講解過該如何調教負載能力,機器配備不錯的,設定參數當然設高一點才能撐的住,但我最近碰到了鬼打牆現象 :kao 某台機器的PHP升級到5.3.8之後偶而會掛掉,而且還連NGiNX一起掛,設定檔卻又都沒問題,同樣的設定檔在一堆機器上跑都沒出什麼包,系統也大同小異,挖哩咧!所以只好摸摸鼻子多放一包乖乖了… :er
好啦~ 總之就弄個自動監測的SHELL吧 🙀

vi /root/nginx-502-restart.sh

#!/bin/bash
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/local/bin:$HOME/bin:$HOME
############### 你要修改的地方從這裡開始 ###############
# 本機的網址
URL=https://520.be/
# NGiNX程式的路徑
NGiNX=/usr/local/nginx/sbin/nginx
############### 你要修改的地方從這裡結束 ###############
if [ -e /var/lock/subsys/502 ]
then
    killall -9 curl 2>/dev/null
    killall -9 php-fpm 2>/dev/null
    service php-fpm start >/dev/null
    $NGiNX -s reopen
else
    touch /var/lock/subsys/502
    if [ `curl --connect-timeout 5 -I $URL 2>/dev/null | grep '502 Bad Gateway' -c` != '0' ]
    then
        killall -9 php-fpm 2>/dev/null
        service php-fpm restart >/dev/null
        $NGiNX -s reopen
    fi
    rm -f /var/lock/subsys/502
fi

然後把他交給最勤奮滴CRONTAB兄弟去自動每5分鐘檢查一次有沒有出怪手,有的話就重新啟動NGiNX跟PHP-FPM 😝

chmod +x /root/nginx-502-restart.sh
crontab -e

新增以下這行就可以收工啦~ 👫
*/5 * * * * /root/nginx-502-restart.sh > /dev/null 2>&1

Comments

comments

關於 窮苦人家的小孩

In every democracy, the people get the government they deserve. ~Alexis de Tocqueville
上一篇:
下一篇:

您可能會喜歡

HostDoc Hosting

VPS介紹 – HostDoc

HostDoc是LET上面相當 …

發佈留言