Apache 的信息查看模块

由 徐永久 发表于 2001年10月16日 21:11。

本文我们将讨论使用 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 是一个掷嗟睦┱鼓?椤R簿褪撬邓?旧砻挥斜患?傻紸pache 里面,你必须手工增加。

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 等语句来限制访问权限。