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。最后一个设置步骤是将文件 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

以下规则向 Apache 授权对 Squid 的访问权限:

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。按继续来浏览不同的统计数字。有关超速缓存管理器显示的每个项的更多详细信息,请参见 http://www.squid-cache.org/Doc/FAQ/FAQ-9.html 上的 Squid FAQ(常见问题解答)。