云网牛站
所在位置:首页 > Linux云服务器 > 使用mod_status模块监控apache的状态(Ubuntu)

使用mod_status模块监控apache的状态(Ubuntu)

2017-10-19 22:27:21作者:Linux编辑稿源:topspeedsnail

Apache的mod_status模块提供了一个显示web服务器状态的web页面,包括工作进程数量、活动连接等。

mod_status的输出一般被其他监控服务器状态的工具使用。这里,我们直接用它来显示一个统计状态页面,用这个页面可以方便的定位问题。

 

打开mod_status

Apache安装之后默认是开启mod_status模块的,但是,我们最好确认一下,使用如下命令:

ls /etc/apache2/mods-enabled/

使用mod_status模块监控apache的状态(Ubuntu)

上面列出的是打开的模块,看看有没有框起来的两个文件,如果没有,说明没有打开mod_status模块,使用下面命令打开:

sudo a2enmod status

 

配置server-status

在如果你没有添加过virtual host到apache default配置,编辑status.conf:

vim /etc/apache2/mods-enabled/status.conf

修改如下:

<Location /server-status>

SetHandler server-status

Require local

Require ip 27.189.138.218

</Location>

ip改为允许访问status统计页面的ip地址。当然你可以设置为不限制IP,任何人可以查看,为了系统安全不建议这么做。

如果你添加了多个virtual host,需要在在每个VirtualHost *:80块中添加和上面一样的代码:

<Location /server-status>

SetHandler server-status

Require local

Require ip 27.189.138.218

</Location>

重启apache服务:

sudo service apache2 restart

在浏览器输入:http://your_domain/server-status:

使用mod_status模块监控apache的状态(Ubuntu)

 

Rewrite模块

我使用的wordpress,开启了固定链接(开启rewirte模块)。默认情况下,它会把http://your_domain/server-status重定向,你会得到一个wordpress的404页面。修正方法:

进入网址根目录,.htaccess内容如下:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

添加两行,修改之后如下:

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteRule ^server-status$ - [L]

RewriteCond %{REQUEST_URI} !^/mod_pagespeed_[a-z_]+$

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

精选文章
热门文章