由於Nginx的出色表現,越來越多的web服務器采用Nginx。雖然nginx很棒,但萬一掛了呢?我們最好寫個小腳本來監控。如果nginx掛了,系統自動重啟。
當然,在給出腳本之前,先做幾個假設,nginx的目錄是/usr/local/nginx/,其pid conf 分別為在相應默認目錄之下。實例腳本如下:
#! /bin/bash
pidFile=/usr/local/nginx/logs/nginx.pid
nginxBin=/usr/local/nginx/sbin/nginx
confFile=/usr/local/nginx/conf/nginx.conf
if [ ! -f $pidFile ]; then
$nginxBin -c $confFile
fi
僅僅有上面的腳本還是不行的,需要加到系統計劃任務中。這個時候就需要用到crontab了。這裡有個小技巧,crontab 的時間最小是分鐘,我們的監控腳本肯定是不可能以分鐘為單位的,假如每5秒跑一下腳本,該怎麼做呢?假設上面的腳本保存為/root/.bin/webmonitor.sh,用如下方式編輯crontab:
* * * * * sleep 5; /bin/bash /root/.bin/webmonitor.sh > /dev/null
通過上面的操作,該監控腳本基本可以運行了。當然你也可以繼續拓展,怎麼監控php之類的
crontab的詳細用法,可以參閱以前的blog:crontab命令小結
摘自 心靈淨土