網頁

2022年1月17日

如何監控Apache網頁服務器狀態和程式負載

 Apache有內建mod_status模組,將模組啟用後,就可以監控網站和程式負載狀況。


使用phpinfo()或是/bin/http -M指令,確認是否有載入mod_status模組,若有則略過載入mod_status步驟。


使用phpinfo()查詢。


使用 /bin/httpd -M 指令,若有看到「 status_module (static)」字樣,則表示有載入mod_status。



載入Apache的mod_status

編輯httpd.conf設定檔。

vi /etc/httpd/conf/httpd.conf

在httpd.conf檔案內找到下列這一行。

#LoadModule status_module modules/mod_status.so

然後將前面的#符號去掉,存檔後並離開。

LoadModule status_module modules/mod_status.so


執行設定檔檢查,確定沒有錯誤後,再重新啟動Apache服務。

/bin/httpd -t




重新啟動Apache

service httpd restart

systemctl restart httpd

/bin/httpd -k restart


重新啟動Apache後,再確認mod_status是否有載入(使用phpinfo或httpd -m指令)。


一、設定mod_status監控,在httpd.conf加入紅字的部份。

<VirtualHost *:80> 

ServerAdmin html@example.com 

DocumentRoot /var/www/html/example.com 

ServerName example.com 

ErrorLog logs/example.com-error_log 

CustomLog logs/example.com-access_log common 

<Location /server-status > 

SetHandler server-status 

Order deny,allow 

Deny from all 

Allow from 192.168.0.100/32 或 myDomain.com  ##允許監看的用戶端

</Location> 

</VirtualHost>


二、啟用mod_status擴展,在httpd.conf加入一行。

ExtendedStatus On

執行設定檔檢查並重新啟動Apache服務。

httpd -t

重新啟動Apache

service httpd restart

systemctl restart httpd

/bin/httpd -k restart


三、訪問 mod_status 網頁

http://myhostname/server-status

若要每10秒重新整理網頁,則在後面加上refresh變數。

http://myhostname/server-status?refresh=10