Nginx中配置开启Nginx Status来查看服务器运行状态
nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助。为了后续的zabbix监控,我们需要先了解nginx状态页是怎么回事。
1.启用nginxstatus配置
在默认主机里面加上location或者你希望能访问到的主机里面。
server{ listen*:80default_server; server_name_; location/ngx_status { stub_statuson; access_logoff; #allow127.0.0.1; #denyall; } }
2.重启nginx
请依照你的环境重启你的nginx
#servicenginxrestart
3.打开status页面
#curlhttp://127.0.0.1/ngx_status
Activeconnections:11921 serveracceptshandledrequests 119891198911991 Reading:0Writing:7Waiting:42
4.nginxstatus详解
- activeconnections–活跃的连接数量
- serveracceptshandledrequests—总共处理了11989个连接,成功创建11989次握手,总共处理了11991个请求
- reading—读取客户端的连接数.
- writing—响应数据到客户端的数量
- waiting—开启keep-alive的情况下,这个值等于active–(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.
脚本中,以下指令指定启用获取Nginx工作状态的功能。
location/NginxStatus{ stub_statuson; access_loglogs/NginxStatus.log; auth_basic"NginxStatus"; }
Activeconnections:2 serveracceptshandledrequests 2424129 Reading:1Writing:1Waiting:0
- Activeconnections:对后端发起的活动连接数.
- Serveracceptshandledrequests:Nginx总共处理了24个连接,成功创建24次握手(证明中间没有失败的),总共处理了129个请求.
- Reading:Nginx读取到客户端的Header信息数.
- Writing:Nginx返回给客户端的Header信息数.
- Waiting:开启keep-alive的情况下,这个值等于active–(reading+writing),意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接.
所以,在访问效率高,请求很快被处理完毕的情况下,Waiting数比较多是正常的.如果reading+writing数较多,则说明并发访问量。