nginx与php-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助。为了后续的zabbix监控,我们需要先了解一下nginx的状态页。
Nginx状态信息(status)介绍
Nginx软件在编译时又一个with-http_stub_status_module模块,这个模块功能是记录Nginx的基本访问状态信息,让使用者了解Nginx的工作状态。要想使用状态模块,在编译时必须增加--with-http_stub_status_module参数。
可通过如下方法检测编译安装Nginx时是否设定上述模块支持:
[root@CentOS ~]# nginx -V
nginx version: nginx/1.12.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/application/nginx-1.12.0/ --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre
配置Nginx status
具体配置过程如下:
(1)生成状态配置,并增加状态配置参数
操作如下:
[root@CentOS ~]# cat >>/application/nginx/conf/status.conf<<eof
server{
listen 80;
server_name status.czlun.com;
location / {
stub_status on;
access_log off;
}
}
eof
(2)用include语句导入到主配置文件
操作如下:
NUM=$(expr $(cat -n conf/nginx.conf | grep 'http {' |awk '{print $1}') + 1);echo "sed -i ${NUM}i'\ \ \ \ include status.conf;' conf/nginx.conf"|bash
(3)重启服务
确认无误便可重启,操作如下:
nginx -t
#结果显示ok和success没问题便可重启
nginx -s reload
Nginx status显示结果详解
打开http://status.czlun.com会有如下所示的状态信息显示,可以用web工具获取这些数值:
Active connections: 3
server accepts handled requests
8 8 67
Reading: 0 Writing: 1 Waiting: 2
Nginxs tatus结果含义:
Active connections: 3
表示Nginx正在处理的活动连接数3个。
server accepts handled requests
8 8 67
第一个 server 表示Nginx启动到现在共处理了 8 个连接
第二个 accepts 表示Nginx启动到现在共成功创建 8 次握手
第三个 handled requests 表示总共处理了 67 次请求
请求丢失数 = 握手数 - 连接数 ,可以看出目前为止没有丢失请求
Reading: 0 Writing: 1 Waiting: 2
Reading:Nginx 读取到客户端的 Header 信息数
Writing:Nginx 返回给客户端 Header 信息数
Waiting:Nginx 已经处理完正在等候下一次请求指令的驻留链接(开启keep-alive的情况下,这个值等于 Active - (Reading+Writing))