Apache status 配置以及怎么查看apache-status


经常有人会为apache进程占用过多的服务器资源而困扰,而apache的日志又多又杂,一般的管理员很难从日志里看出结果来,如果你用的是Apache 1.3.2 及以后的版本,这时候apache的一个很好的工具可以解决您的困扰,那就是apache自带的功能----server-status。
   怎样才能打开apache的server-status呢?
   首先你得编译apache的一个模块,你可以检查你的配置文件(httpd.conf)中是否有LoadModule status_module modules/mod_status.so,如果有的话,说明你的apache已经加载了此模块。或者你编译的时候加上了--enable-module=so也表明服务器支持了,其实最好的办法就是照下面的步骤,先把server-status打开,看能否使用。如果没有这个模块该怎么添加上呢?
   如果没有加载这个模块,如果您是linux服务器,那么就需要您重新编译apache了,编译的时候加上参数--enable-module=so即可,如果你是windows系统的话,无需任何编译,只要把刚才时候说的LoadModule status_module modules/mod_status.so这句加上,如果前面有带#号,开启的话,需要将#去除。
   确认你的系统有这个模块之后,下面的工作就是配置server-status了! 

CODE:

<Location /server-status>
         SetHandler server-status
         Order Deny,Allow
         Deny from all
         Allow from .foo.com
   </Location>

   ExtendedStatus On这是一个完整的server-status的配置
   deny表示禁止的,如果你不想使用的话,可以设置为上面的设置,完全开启的话,此行整体删除即可,allow from表示可以通过那个地址访问,如果你在使用的话,可以设置为allow from all,最后一句表示的是待会访问的时候能看到详细的请求信息!
   下面就可以通过url访问到server-status了,https://ip地址/server-status,你可以通过更改< Location /server-status>里面的server-status改变访问路径,比如该为<Location /discuz-status>,这样你就可以通过https://ip地址/discuz-status。上面的ip地址是和你的 Allow from设置有关,如果你这是设置为某一个指到你的ip上的域名的话,那么可以通过
https://域名/discuz-status来访问!