cachemgr.cgi

快取管理員 (cachemgr.cgi) 是一種 CGI 公用程式,用來顯示正在執行之 Squid 處理程序的記憶體使用率統計資料。它也是管理快取和檢視統計資料較方便的方式,因為不需要登入伺服器。

設定

首先,需要在系統上執行網頁伺服器。依第 40 章「Apache HTTP 伺服器 中所述方式設定 Apache。若要檢查 Apache 是否已在執行,請以 root 的身份輸入 rcapache status 指令。如果出現像這類的訊息:

Checking for service httpd: OK 
Server uptime: 1 day 18 hours 29 minutes 39 seconds   

表示 Apache 正在機器上執行。否則,請輸入 rcapache start,以使用 SUSE Linux Enterprise Server 預設值啟動 Apache。設定 Apache 的最後一個步驟是將 cachemgr.cgi 檔案複製到 Apache 的 cgi-bin 目錄:

cp /usr/share/doc/packages/squid/scripts/cachemgr.cgi /srv/www/cgi-bin/

在 /etc/squid/squid.conf 中的快取管理員 ACL

快取管理員需要原始檔案中某些預設的設定值。首先,定義兩個 ACL,然後 http_access 選項使用這些 ACL 來授予可從 CGI 程序檔存取 Squid 的權限。第一個 ACL 最重要,因為快取管理員會嘗試透過 cache_object 通訊協定與 Squid 通訊。

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255

下列規則會將 Squid 的存取權限授與 Apache:

http_access allow manager localhost
http_access deny manager

這些規則是假設網頁伺服器與 Squid 在相同的機器上執行。如果快取管理員與 Squid 之間的通訊是源自於另一部電腦上的網頁伺服器,請依 範例 41.2 「存取規則」 所述包含一個額外的 ACL。

範例 41.2. 存取規則

acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl webserver src 192.168.1.7/255.255.255.255 # webserver IP

然後新增 範例 41.3 「存取規則」 中的規則,以允許從網頁伺服器存取。

範例 41.3. 存取規則

http_access allow manager localhost
http_access allow manager webserver
http_access deny manager

設定管理員的密碼以存取更多的選項,如遠端關閉快取記憶體或是檢視快取記憶體的詳細資訊。為此,請以管理員的密碼以及要檢視的選項清單設定 cachemgr_passwd 項目。這個清單會顯示成 /etc/squid/squid.conf 中項目備註的一部份。

每次變更組態檔時,請重新啟動 Squid。使用 rcsquid reload 即可輕鬆執行重啟。

檢視統計資料

瀏覽對應的網站 —http://webserver.example.org/cgi-bin/cachemgr.cgi。按繼續,然後瀏覽不同的統計資料。有關快取管理員所顯示之每個項目的詳細資訊,可在 Squid FAQ 中找到,網址為:http://www.squid-cache.org/Doc/FAQ/FAQ-9.html