查看apache运行状态

2012年5月11日 发表评论 阅读评论

你想了解你的http应用上有多少人在用吗?他们在请求什么内容?有多少进程地运行,这些进程的状态?apache为我们提供了两个模块用于查看服务器状态和配置文件信息。这两个模块就是mod_info 和 mod_status 。

mod_status能准确地告诉你,有哪些人在浏览您的网站,有多少子进程在运行,以及这些进程在干吗。
mod_info就是显示编译到Apache里面的东西的列表以及其他针对服务器的各种特性。

默认上面两个模块在安装时是开启的。如果你的未开启而你想开启,在http.conf中将下面两行的#去掉,变成下面的状态就行了。

LoadModule status_module modules/mod_status.so
LoadModule info_module modules/mod_info.so

上一张从http://servername/server-status 的截图先:

apache-status

W 代表一个正在应答的子进程,_ 表示空闲的子进程在等待进入的连接。每一个点代表一个还没有生成的潜在的子进程。每一个潜在允许使用的服务用这样的一段来表示。 
想了解更详细的信息可以开启ExtendedStatus 开关,这个开关缺省是关的。打开这个开关之后,除了以上信息以外,还可以得到一张每一个子进程及其所作工作的列表。对于每一个子进程而言,你可以得到它的PID ,以及它占用的CPU 时间和已经运行的时间。

extendstatus-cpu

对于服务器而言,你可以得到服务器启动以后的合计点击数,CPU的利用率以及每分钟点击数,还有传输给客户端的总计字节数。  extstatus-total

具体可以参看下该图: http://www.apache.org/server-status 

上面看完了status模块,接下来看info模块:

 

    

      如果你输入:http://yourserver/server-info/ 就可以看到服务器内置的模块列表或者通过DSO 加载的模块列表。这对于安装和配置特定的服务器来说是十分有用的。特别是用来对错误的配置文件查找问题时。

      上面的图片还是需要配置文件的支撑才行,现在看下配置文件,我在xampp测试环境下的最简配置文件是:

<IfModule status_module>
<Location /server-status>
    SetHandler server-status
</Location>
#ExtendedStatus On
</IfModule>
<IfModule info_module>
<Location /server-info>
    SetHandler server-info
</Location>
</IfModule>

      做为站点管理人员,肯定不希望别人看到我服务器的状态信息,这里可以在配置文件里加一些控制:

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</Location>

     另外想增加密码访问的,可以看下apache的authuserfile相关的配置。 作为同样出色的nginx也具有类似的模块。这里就不再介绍,改天放到另外一篇里写吧!




本站的发展离不开您的资助,金额随意,欢迎来赏!

You can donate through PayPal.
My paypal id: itybku@139.com
Paypal page: https://www.paypal.me/361way

  1. 本文目前尚无任何评论.