29.6. cachemgr.cgi

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

29.6.1. 設定

首先,需要在系統上執行網頁伺服器。依 章 26, 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 的預設值啟動 Apache。設定 Apache 的最後一個步驟是將 cachemgr.cgi 檔案複製到 Apache 的 cgi-bin 目錄:

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

29.6.2. 在 /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 之間的通訊是源自於另一部電腦上的網頁伺服器,請依 範例 29.2, "存取規則" 所述包含一個額外的 ACL。

範例 29.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

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

範例 29.3. 存取規則

http_access allow manager localhost
http_access allow manager webserver
http_access deny manager

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

每次變更組態檔時,請重新啟動 Squid。以 rcsquid reload 輕鬆執行此動作。

29.6.3. 檢視統計資料

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