如何通过Nginx配置stub_status模块来查看实时活跃连接和请求处理指标?

2026-04-27 18:032阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计563个文字,预计阅读时间需要3分钟。

如何通过Nginx配置stub_status模块来查看实时活跃连接和请求处理指标?

可以通过+Nginx的stub_status模块快速获取实时连接与请求统计,但请注意它仅提供基础指标,默认不启用。

确认模块已编译并启用

Nginx 需在编译时包含 --with-http_stub_status_module。可通过以下命令验证:

nginx -V 2>&1 | grep -o with-http_stub_status_module

若无输出,说明未启用该模块,需重新编译或换用已启用该模块的发行版(如 Ubuntu 官方包通常已内置)。

配置 location 暴露 stub_status 接口

在任意 server 块中添加如下配置(推荐限制访问权限):

location /nginx-status { stub_status on; access_log off; allow 127.0.0.1; # 仅允许本地访问 allow 192.168.1.0/24; # 可选:允许内网访问 deny all; }

重启或重载 Nginx 后,访问 http://your-server/nginx-status 即可看到类似输出:

Active connections: 3
server accepts handled requests
 12345 12345 23456
Reading: 0 Writing: 1 Waiting: 2

理解各字段含义

返回内容分三行,关键指标如下:

  • Active connections:当前所有活跃连接数(包括等待、读、写状态)
  • accepts:Nginx 启动以来接受的总连接数
  • handled:成功处理的连接数(正常关闭或超时断开都算)
  • requests:Nginx 启动以来处理的 HTTP 请求总数(一个连接可含多个请求)
  • Reading:正在读取客户端请求头的连接数
  • Writing:正在向客户端发送响应的连接数
  • Waiting:处于 keep-alive 等待新请求的空闲连接数(仅当 keepalive 启用时非零)

安全与监控建议

stub_status 不支持认证,仅靠 IP 限制防护:

  • 切勿开放给公网,避免信息泄露和被滥用
  • 配合 Prometheus 使用时,可用 nginx-exporternginx-prometheus-exporter 抓取并转为标准指标
  • 若需更详细指标(如按 upstream、status code 统计),应启用 ngx_http_vhost_traffic_status_module 或使用 OpenResty + lua-resty-prometheus
标签:Nginx

本文共计563个文字,预计阅读时间需要3分钟。

如何通过Nginx配置stub_status模块来查看实时活跃连接和请求处理指标?

可以通过+Nginx的stub_status模块快速获取实时连接与请求统计,但请注意它仅提供基础指标,默认不启用。

确认模块已编译并启用

Nginx 需在编译时包含 --with-http_stub_status_module。可通过以下命令验证:

nginx -V 2>&1 | grep -o with-http_stub_status_module

若无输出,说明未启用该模块,需重新编译或换用已启用该模块的发行版(如 Ubuntu 官方包通常已内置)。

配置 location 暴露 stub_status 接口

在任意 server 块中添加如下配置(推荐限制访问权限):

location /nginx-status { stub_status on; access_log off; allow 127.0.0.1; # 仅允许本地访问 allow 192.168.1.0/24; # 可选:允许内网访问 deny all; }

重启或重载 Nginx 后,访问 http://your-server/nginx-status 即可看到类似输出:

Active connections: 3
server accepts handled requests
 12345 12345 23456
Reading: 0 Writing: 1 Waiting: 2

理解各字段含义

返回内容分三行,关键指标如下:

  • Active connections:当前所有活跃连接数(包括等待、读、写状态)
  • accepts:Nginx 启动以来接受的总连接数
  • handled:成功处理的连接数(正常关闭或超时断开都算)
  • requests:Nginx 启动以来处理的 HTTP 请求总数(一个连接可含多个请求)
  • Reading:正在读取客户端请求头的连接数
  • Writing:正在向客户端发送响应的连接数
  • Waiting:处于 keep-alive 等待新请求的空闲连接数(仅当 keepalive 启用时非零)

安全与监控建议

stub_status 不支持认证,仅靠 IP 限制防护:

  • 切勿开放给公网,避免信息泄露和被滥用
  • 配合 Prometheus 使用时,可用 nginx-exporternginx-prometheus-exporter 抓取并转为标准指标
  • 若需更详细指标(如按 upstream、status code 统计),应启用 ngx_http_vhost_traffic_status_module 或使用 OpenResty + lua-resty-prometheus
标签:Nginx