Linux下自動監測並重啟Apache服務腳本


為了達到一個高可用的基於Apache的網站環境,在Apache由於種種原因自動停止運行之后,想立即恢復網站訪問,這就需要有個工具實時監測Apache的運行狀態並能夠自動重啟httpd服務,寫了一個簡單的監測和重啟腳本:
 
原理:通過服務器本地訪問自身Apache服務(與用戶訪問網站類似),如超過15s沒有返回正常的220頭代碼信息,說明Apache服務已經停止運行了,則立即重啟httpd服務。
 
腳本使用
方法一:
1、在Linux服務器上執行vi編輯一個新腳本,並把下面腳本代碼復制進去,然后退出並保存(需懂一些簡單的linux命令,如不懂可留言求助站長)

[root@localhost /]# vi /opt/autorshttpd
#!/bin/bash
URL="http://127.0.0.1/"
curlit()
{
curl --connect-timeout 15 --max-time 20 --head --silent "$URL" | grep '200'
}
doit()
{
if ! curlit; then
/etc/init.d/httpd restart > /dev/null
fi
}
while true; do
doit > /dev/null
sleep 10
done

2、給腳本賦予可執行權限

[root@localhost /]# chmod 755 /opt/autorshttpd

3、執行腳本

[root@localhost /]# sh /opt/autorshttpd &
[root@localhost /]# exit

注:在這里sh命令后面我為什么要加個&符號呢?這是因為我們一般操作服務器都是遠程SSH操作的,所以如果不加&符號,那關閉SSH遠程界面,此進程也就隨之結束了,加上&符號,即使關閉SSH遠程也可以讓程序在后台運行,別忘了用exit命令退出登陸后,再關閉SSH遠程界面哦~
4、讓腳本開機自動運行

[root@localhost /]# vi /etc/rc.local

在最后面加上sh /opt/autorshttpd這一行即可。
 
方法二:
下載腳步程序:點擊下載,上傳到Linux服務器的/opt目錄下,然后依次執行方法一中的2-4步驟即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM