生产环境中越来越多的项目使用 nginx 作为反向代理,我们需要关注 nginx 状态,比如查看 nginx 当前并发连接数,确保正常运行。
这篇文章分享下查看 nxginx 并发连接数的两种方法。
方法一: 通过WEB界面查看
此方法需要依赖于 nginx 的 http_stub_status_module 模块,可输入 nginx -V 查看是否已经安装此模块,如果没有安装需要重新编译该模块。
在您的任意一个 server 段内,添加如下配置:
##########################################
location /status {
stub_status on;
}
###########################################
配置修改完毕后输入命令:nginx -t 确保语法没有问题,并重载一次 nginx 配置 nginx -s reload,使其生效。
再访问 http://youdomain.com/status 就可以看到连接数状态了,如下截图:
注意:状态配置只能是针对某个 nginx 服务,目前 nginx 还无法做到针对单个站点进行监控。
参数解释:
Active connections:当前 Nginx 正处理的活动连接数(1186),也就是当前的并发连接数
server accepts handled requests:总共处理了420484个连接,成功创建420484次握手,总共处理了408348个请求
Reading:nginx 读取到客户端的 Header 信息数
Writing:nginx 返回给客户端的 Header 信息数
Waiting:开启 keep-alive 的情况下,这个值等于active-(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接
方法二:通过命令行查看
如果您只是想单纯的查看nginx 当前并发连接数,不需要更详细的信息,直接使用下面的命令 (netstat -apn|grep 'nginx: worker'|wc -l) 即可。
# netstat -apn|grep 'nginx: worker' | wc -l
# netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a,S[a]}'
# ss -s
参考
Nginx几个常用模块及使用方法示例
https://www.moewah.com/archives/388.html
Nginx 查看并发连接数的两种方法
https://www.moewah.com/archives/2186.html
网友评论