快取管理員 (cachemgr.cgi) 是一種 CGI 公用程式,用來顯示關於執行 Squid 程序的記憶體使用率之統計資料。它也是管理快取和檢視統計資料較方便的方式,因為不需要登入伺服器。
首先,需要在系統上執行網頁伺服器。依 章 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/
快取管理員需要原始檔案中某些預設的設定值。首先,定義兩個 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 輕鬆執行此動作。
瀏覽對應的網站──http://webserver.example.org/cgi-bin/cachemgr.cgi。按 ,然後瀏覽不同的統計資料。快取管理員所顯示每個項目的詳細資訊,可在 Squid FAQ 中找到,網址為:http://www.squid-cache.org/Doc/FAQ/FAQ-9.html。