Nginx状态信息功能实战
Nginx软件的功能模块中有一个ngx_http_stub_status_module模块,这个模块的主要功能是记录Nginx的基本访问状态信息。
1.查看是否安装了http_stub_status_module模块
[root@web01 extra]# /application/nginx/sbin/nginx -V #检查编译安装时的设置的编译参数
nginx version: nginx/1.6.3
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)
TLS SNI support enabled
configure arguments: --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --prefix=/application/nginx-1.6.3/ #有这个--with-http_stub_status_module 就说明已安装该模块
2.配置Nginx status
2.1生成状态配置,并增加状态配置参数
cat >>/application/nginx/conf/extra/status.conf<<EOF
##status
server{
listen 80;
server_name status.etiantian.org;
location / {
stub_status on;
access_log off;
}
}
EOF
2.2在主配置文件中增加包含文件的配置
[root@web01 extra]#vim /application/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
include extra/www.conf;
include extra/bbs.conf;
include extra/blog.conf;
include extra/status.conf; ##需要增加的行
}
2.3平滑重启让配置文件生效
[root@web01 extra]# /application/nginx/sbin/nginx -s reload
3Windows客户端添加域名解析
win+r==>运行==>输入drivers==>打开etc目录==>修改hosts
10.0.0.8 status.etiantian.org #添加这一行解析
4.测试
浏览器==>输入status.etiantian.org
Active connections: 3
server accepts handled requests
5 5 47
Reading: 0 Writing: 1 Waiting: 2
对上边数据做个说明:
Active connections: 3正处理的活动连接数
Server accepts handled requests: 总共处理了5个连接,成功创建5次握手(请求丢失数=(握手数-连接数),证明中间没有失败的),总共创建了47个请求.
Reading: nginx读取到客户端的Header信息数.
Writing: nginx返回给客户端的Header信息数.
Waiting为Nginx已经处理完正在等候下一次请求指令的驻留连接。在开启keep-alive的情况下,这个值等于 Active – (Reading + Writing),意思就是nginx已经处理完成,正在等
候下一次请求指令的驻留连接.所以,在访问效率高,请求很快被处理完毕的情况下,Waiting数比较多是正常的.