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:[email protected]/nginx_status |awk -F: 'NR==1{print $NF}' curl http://meng:[email protected]/nginx_status 2 > /dev/null |awk '/Reading/{print $2,$4,$6}'
0 1 15
curl -s http://meng:[email protected]/nginx_status | sed -rn' /Reading/s/Reading:(.*)Writing:(.*)Waiting:(.*)/\1\2\3/p
echo "Nginx failed TCP connections": $(curl-s http://meng:[email protected]/nginx_status | awk 'NR==3 {print $1- $2}')