当前位置 主页 > 服务器问题 > nginx问题汇总 >

    Nginx中配置开启Nginx Status来查看服务器运行状态

    栏目:nginx问题汇总 时间:2018-09-23 16:10

    这篇文章主要介绍了Nginx中配置开启Nginx Status来查看服务器运行状态的方法,Nginx Status为Nginx服务器内置的状态页,需要的朋友可以参考下

    nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助。为了后续的zabbix监控,我们需要先了解nginx状态页是怎么回事。
    1. 启用nginx status配置
    在默认主机里面加上location或者你希望能访问到的主机里面。

    server { listen *:80 default_server; server_name _; location /ngx_status  {  stub_status on;  access_log off;  #allow 127.0.0.1;  #deny all; }}

    2. 重启nginx
    请依照你的环境重启你的nginx

    # service nginx restart

    3. 打开status页面

    # curl http://127.0.0.1/ngx_status
    Active connections: 11921 server accepts handled requests 11989 11989 11991 Reading: 0 Writing: 7 Waiting: 42

    4. nginx status详解

    active connections – 活跃的连接数量 server accepts handled requests — 总共处理了11989个连接 , 成功创建11989次握手, 总共处理了11991个请求 reading — 读取客户端的连接数. writing — 响应数据到客户端的数量 waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接.

    脚本中,以下指令指定启用获取Nginx工作状态的功能。

      location /NginxStatus {       stub_status on;  access_log   logs/NginxStatus.log;       auth_basic   "NginxStatus";   }
    Active connections: 2  server accepts handled requests 24 24 129 Reading: 1 Writing: 1 Waiting: 0 
    Active connections: 对后端发起的活动连接数. Server accepts handled requests: Nginx总共处理了24个连接,成功创建24次握手(证明中间没有失败的),总共处理了129个请求. Reading: Nginx 读取到客户端的Header信息数. Writing: Nginx 返回给客户端的Header信息数. Waiting: 开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接.

    所以,在访问效率高,请求很快被处理完毕的情况下,Waiting数比较多是正常的.如果reading +writing数较多,则说明并发访问量。