nginx查看连接数的几种方法

前言

nginx作为目前最流行的web服务器之一,在许多生产环境都能看到他的踪影。有时候,我们需要统计nginx的连接配置,本文主要分享一下如何统计nginx的连接数。

方法一 netstat

使用netstat统计连接数,这种是将master和worker一起统计了

netstat -antp|grep nginx|wc -l

如果只统计worker的话,可以用以下命令

netstat -antp|grep "nginx: worker"|wc -l

比较高大上的写法是

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

CLOSE_WAIT 16
ESTABLISHED 343
TIME_WAIT 11

其中,参数分别表示为等待关闭的,已连接的,等待释放的

方法二 监控

使用zabbix、普罗米修斯等监控也可以随时监控到nginx的连接状况

方法三 web页面

nginx自带了模块,通过配置可以查看实时的连接情况,具体操作如下:
首先查看nginx是否安装了http_stub_status_module模块

nginx -V

在这里插入图片描述任意找一个http server段,配置以下语句
在这里插入图片描述

location /status {
   stub_status on;
}

检查语法

nginx -t

浏览器访问http://IP:Port/status,输出如下
在这里插入图片描述

Active connections:当前 Nginx 正处理的活动连接数(2),也就是当前的并发连接数
server accepts handled requests:总共处理了3550个连接,成功创建3550次握手,总共处理了5901个请求.
Reading:nginx 读取到客户端的 Header 信息数.
Writing:nginx 返回给客户端的 Header 信息数.
Waiting:开启 keep-alive 的情况下,这个值等于active-(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.