一、通过界面查看

通过web界面查看时Nginx需要开启status模块,也就是安装Nginx时加上

--with-http_stub_status_module

然后配置Nginx.conf,在server里面加入如下内容:

1
2
3
4
5
location /status {
    stub_status on;
    access_log /usr/local/nginx/logs/status.log;
    auth_basic "NginxStatus";
}

配置完后重新加载Nginx后我们可以通过浏览器访问http://localhost/status查看:
Nginx加载命令

1
2
/usr/local/nginx/sbin/nginx -t      #检测配置文件是否有错误
/usr/local/nginx/sbin/nginx -s reload   #重新加载配置文件

查看结果说明:

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

二、通过命令查看

查看命令

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

结果

1、
2、
3、
4、
5、
6、
7、
TIME_WAIT 17
ESTABLISHED 3254
LAST_ACK 236
FIN_WAIT_1 648
FIN_WAIT_2 581
CLOSING 7
CLOSE_WAIT 4916

结果说明

1、
2、
3、
4、
5、
6、
7、
8、
9、
10、
11、
CLOSED            //无连接是活动的或正在进行
LISTEN           //服务器在等待进入呼叫
SYN_RECV        //一个连接请求已经到达,等待确认
SYN_SENT        //应用已经开始,打开一个连接
ESTABLISHED     //正常数据传输状态/当前并发连接数
FIN_WAIT1       //应用说它已经完成
FIN_WAIT2       //另一边已同意释放
ITMED_WAIT          //等待所有分组死掉
CLOSING         //两边同时尝试关闭
TIME_WAIT       //另一边已初始化一个释放
LAST_ACK        //等待所有分组死掉