说明: 生产环境中越来越多的项目使用Nginx作为WEB Server,与此同时我们也需要时刻关注Nginx状态,比如查看nginx当前并发连接数,确保正常运行。这篇文章分享下查看Nginx并发连接数的两种方法。

方法一:通过WEB界面查看

此方法需要依赖于 nginx 的http_stub_status_module模块,可输入nginx -V查看是否已经安装此模块,如果没有安装需要重新编译该模块。

在您的任意一个server段内,添加如下配置:

location /status {
   stub_status on;
}

限制IP访问:

server {  
#添加如下配置  
location /nginx-status {  
stub\_status on;  
access\_log off;  
#加入访问限制  
allow 60.195.252.106;  
allow 60.195.249.83;  
deny all;  
}  
}

配置修改完毕后输入命令:nginx -t确保语法没有问题,并重载一次nginx配置nginx -s reload,使其生效。再访问http://status.cloudduo.cn/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)即可。

[root@moewah ~]# netstat -apn|grep 'nginx: worker'|wc -l
1096

查看连接数:ss -tn

[root@centos7~]# ss -nt
State       Recv-Q Send-Q        Local Address:Port                       Peer Address:Port              
ESTAB       0      0              172.16.7.222:43004                     100.100.30.25:80                 
ESTAB       0      0              172.16.7.222:443                      106.122.162.83:3173               
ESTAB       0      36             172.16.7.222:22                       106.122.162.83:2456   

查看日志

使用tail -f命令查看最新日志内容

tail -f ***.log
tail -f /www/wwwlogs/www.caiyoushequ.com.log