欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

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

程序员文章站 2023-09-27 16:41:45
nginx和php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助。为了后续的zabbix监控,我们需要先了解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数较多,则说明并发访问量。