本文我們將討論使用 mod_status 和 mod_info to 來告訴你目前服務器的工作情況我可以得到什麼樣的信息?
使用 mod_status,你可以知道誰在你的服務器上看些什麼東西,以及有多少人連在Web 服務器上。還有其他可能你的客戶不關心的信息,但是對於你,一個站點管理員來說,卻是十分有用的信息。
客戶喜歡這些資料我不知道你的客戶都是怎樣的人物,但是我的客戶喜歡我提供的信息。每天一次的信息還不夠,因為到一天結束時才知道就太晚了。所以他們喜歡知道現在正在發生的事情。
mod_info 和 mod_status這兩個模塊可以提供十分有用的信息,而且十分方便。
mod_status 能准確地告訴你,你的服務器正在想什麼。你可以知道有哪些人在浏覽您的網站,有多少子進程在運行,以及這些進程在干嗎。
如果你使用缺省方法安裝的 Apache 的話,應該已經安裝了mod_status ,唯一要做的就是在配置文件(httpd.conf) 中加入下面幾行(其實,只要注釋掉就可以了)
# 服務器狀態
SetHandler server-status
Order deny,allow
Deny from all
Allow from .your_domain.com
這個 SetHandler 語句告訴 Apache ,一旦接收到匹配的請求的話(在本例中就是/server-status)不是去尋找對應的文件,而是轉去由相應的模塊或者CGI 來處理。
mod_status 模塊定義了一個處理機 (server-status) 和一個指示節(ExtendedStatus)。在以上的配置中,存取/server-status 資源時,將提供服務器當前活動的報告。
格式如下:
W_________......................................................
................................................................
................................................................
................................................................
W 代表一個正在應答的子進程,_ 表示空閒的子進程在等待進入的連接。每一個點代表一個還沒有生成的潛在的子進程。每一個潛在允許使用的服務用這樣的一段來表示。
他還同時告訴你,系統自從上次啟動以來已經運行了多少時間。如果需要更多的信息,可以打開ExtendedStatus 開關,這個開關缺省是關的。打開這個開關之後,除了以上信息以外,還可以得到一張每一個子進程及其所作工作的列表。
對於每一個子進程而言,你可以得到它的PID ,以及它占用的CPU 時間和已經運行的時間。對於服務器而言,你可以得到服務器啟動以後的合計點擊數,CPU的利用率以及每分鐘點擊數,還有傳輸給客戶端的總計字節數。
mod_info
mpd-info 是一個分類的擴展模塊。也就是說他本身沒有被集成到Apache 裡面,你必須手工增加。
mod_info 對客戶而言,可能不是很有用,但是對系統管理員而言,卻是十分有用的。特別是有很多服務器需要維護的情況下。使用下面的節可以來實現。
SetHandler server-info
Order deny,allow
Deny from all
Allow from .your-domain.com
這個頁面顯示的啟示就是你編譯到Apache 裡面的東西的列表以及其他針對服務器的各種特性。
如果你輸入:http://your.server/server-info/ 就可以看到服務器內置的模塊列表或者通過DSO 加載的模塊列表。
這對於安裝和配置特定的服務器來說是十分有用的。特別是用來對錯誤的配置文件查找問題時。
好了,這兩個模塊的基本介紹就到這裡了。詳細的信息你還是需要自己去琢磨。因為在方便客戶的同時,也需要一定的保密措施,需要對這兩個模塊所顯示的信息,限制到特定的人才能使用,所以,還需要使用Deny,Allow 等語句來限制訪問權限。