使用StubStatus模块来监控Nginx

Published on 2015 - 09 - 20

Stubstatus模块能够获取Nginx自上次启动以来的工作状态,此模块非核心模块,需要在Nginx编译安装时手工指定才能使用。

以下代码为使用方法:

location /NginxStatus {
                    stub_status     on;
                    access_log      logs/NginxStatus.log;
                    auth_basic      "NginxSttus";
                    auth_basic_user_file ../htpasswd;
}

stub_status on;表示启用StubStatus的工作状态统计功能;

access_log用来指定StubStatus模块的访问日志文件;

auth_basic是Nginx的一种认证机制;

auth_basic_user_file用来指定认证的密码文件。由于Nginx的auth_basic认证采用的是与apache兼容的密码文件,因此需要使用apache的htpasswd命令来生成密码文件。

#### 例如要添加一个webadmin用户,可以使用下面的方式生成密码文件:

/usr/local/apache/bin/htpasswd -c /opt/nginx/conf/htpasswd webadmin

会得到以下提示信息:
newpassword:
输入两次

要看Nginx的运行状态,可以输入http://ip/NginxStatus,然后输入刚刚创建的用户名和密码就可以看到如下信息:

Active connections: 1
server accepts handled requests
 393411 393411 393799
Reading: 0 Writing: 1 Waiting: 0

Active 表示当前活跃的连接数,第三行的三个数字表示Nginx当前总共处理了393411个连接,成功创建了393411次握手,总共处理了393799个请求。最后一行的Reading表示Nginx读取到客户端Header信息数;Writing表示Nginx返回给客户端的Header信息数;Waiting表示Nginx已经处理完、正在等候下一次请求指令时的驻留连接数。