Nginx状态页

基于nginx模块ngx_http_stub_status_module 实现,在编译安装nginx的时候需要添加编译参数 -- with-http_stub_status_module,否则配置完成之后监测会是提示语法错误
注意: 状态页显示的是整个服务器的状态,而非虚拟主机的状态

官方文档

http://nginx.org/en/docs/http/ngx_http_stub_status_module.html

语法格式:

Syntax: stub_status; 
Default: — 
Context: server, location

范例:

vim /apps/nginx/conf/conf.d/www.meng.org.conf 
server {
    listen 80 ;
    server_name www.meng.org;
    root /data/nginx/html/pc/;
    location /status {
        stub_status;
        auth_basic      "please input username and password";    提示字符串
        auth_basic_user_file /apps/nginx/conf/.htpasswd;         账户密码文件
    }                                                          以上为状态页加验证
}
nginx -s reload
访问www.meng.org/status 出现下列信息
Active connections: 1              活动链接数,正在连接你的用户
server accepts handled requests    接收 处理 请求 对应下面数量
 71 71 643 
Reading: 0 Writing: 1 Waiting: 0   
解释如下:
Active connections: #当前处于活动状态的客户端连接数,包括连接等待空闲连接数 =reading+writing+waiting
accepts:#统计总值,Nginx自启动后已经接受的客户端请求连接的总数. 
handled:#统计总值,Nginx自启动后已经处理完成的客户端请求连接总数,通常等于accepts,除非有因worker_connections限制等被拒绝的失败连接,即失败连接数=accepts-handled 
requests:#统计总值,Nginx自启动后客户端发来的总的请求数.因为长连接的原因此值大于上面的 accept数 Reading:#当前状态,正在读取客户端请求报文首部的连接的连接数,数值越大,说明排队现象严重,性能不足 Writing:#当前状态,正在向客户端发送响应报文过程中的连接数,数值越大,说明访问量很大 Waiting:#当前状态,正在等待客户端发出请求的空闲连接数,开启keep-alive 时,Waiting+reading+writing=active connections

范例:分析网站当前的访问量(可以5分钟取值,划出一天的访问量图形,看什么时间段访问量大)

curl -s http://meng:123456@www.mengfanchao.com/nginx_status |awk -F: 'NR==1{print $NF}' curl http://meng:123456@www.mengfanchao.com/nginx_status 2 > /dev/null |awk '/Reading/{print $2,$4,$6}'
0 1 15 
curl -s http://meng:654321@www.mengfanchao.com/nginx_status | sed -rn' /Reading/s/Reading:(.*)Writing:(.*)Waiting:(.*)/\1\2\3/p 
echo "Nginx failed TCP connections": $(curl-s http://meng:123456@www.mengfanchao.com/nginx_status | awk 'NR==3 {print $1- $2}')