Linux下查看Nginx实时连接状态需启用stub_status模块,配置location并限制访问,再用curl获取Active connections等指标,辅以ss或lsof验证。

Linux 下查看 Nginx 当前运行的实时连接状态信息,核心是通过 Nginx 内置的 stub_status 模块(需启用)配合 HTTP 请求获取,而非仅靠系统进程命令。它能显示活跃连接数、请求统计等关键运行时指标。
启用 stub_status 模块并配置访问端点
默认该模块不暴露,需手动配置:
- 确认 Nginx 编译时已包含
--with-http_stub_status_module(主流发行版通常自带) - 在任意 server 块中添加如下配置(推荐放在本地回环或受控地址):
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
保存后执行 sudo nginx -t && sudo systemctl reload nginx 生效。
用 curl 获取实时连接状态
配置生效后,直接请求该路径即可获得原始状态数据:
在无 root/sudo 权限的环境(云容器、VPS、隔离主机)中安装并配置 OpenClaw 浏览器工具的 headless Chrome。适用场景:...
-
curl http://localhost/nginx-status(本机) -
curl -s http://127.0.0.1/nginx-status | awk '{print $3}'提取当前活跃连接数(第三字段)
典型输出示例:
Active connections: 12
server accepts handled requests
24567 24567 78901
Reading: 0 Writing: 3 Waiting: 9
其中 Active connections 是当前总连接数;Reading、Writing、Waiting 分别代表各阶段连接数,三者之和等于 Active connections。
结合系统命令辅助验证
stub_status 提供应用层指标,可搭配以下命令交叉验证:
-
ss -tn state established '( sport = :80 or sport = :443 )' | wc -l—— 统计实际 ESTABLISHED 的 TCP 连接数(接近 Active connections) -
sudo lsof -i :80 -sTCP:ESTABLISHED | wc -l—— 同样统计 80 端口上的活跃连接 -
ps aux | grep 'nginx: worker'—— 查看工作进程数,间接反映并发承载能力
注意权限与安全限制
stub_status 输出无认证,务必限制访问来源:
- 不要开放给公网(如
allow all;) - 生产环境建议配合防火墙或反向代理做 IP 白名单或 Basic Auth
- 若返回 404 或 403,请检查 location 路径是否拼写正确、Nginx 是否重载、allow/deny 规则是否生效

















