前言:


作为一个站长,了解本站实时的状态信息也是维护网站的重要信息之一,同时也能通过一些监控工具,例如zabbix对状态页面进行监控,从而取到实时的状态信息;




**ngx_http_stub_ststus__module模块配置**



stub_status;通过指定的uri输出stub status;

server {
       listen 443 ssl;
       listen 172.16.61.4:80;
       server_name www.tz.com;
       root /data/www/vhost1;
       ssl_certificate /etc/nginx/ssl/nginx.crt;
       ssl_certificate_key /etc/nginx/ssl/nginx.key;
       ssl_session_cache shared:SSL:1m;
       ssl_session_timeout 5m;
       ssl_ciphers HIGH:!aNULL:!MD5;
       ssl_prefer_server_ciphers on;

       if ($scheme = http) {
         return 301 https://$server_name$request_uri;
       }
       location /status {
         stub_status on;    #打开访问状态页面
       }
}

wKioL1bUWkai-PIYAAAXEpK9C_Y693.png


status页面指标意义:

Active connections:当前活动的客户端连接数;

accepts:已经接受的客户端连接总数量;

handled:已经处理过的客户端连接总数量;

requests:客户端总的请求数;

Reading:正在读取的客户端请求的数量;

Writing:正向其发送响应报文的连接数量;

Waiting:等待其发出请求的空闲连接数量;


注:定义完status页面后显然不能将其开放至所有用户可见,至此我们需要对它进行访问控制;可以基于ip访问进行控制,也可以基于basic认证进行访问控制;


**ngx_http_access_module模块的配置(基于IP的访问控制)**




allow ADDRESS|CIDR|unix:|all;允许哪些ip地址进行访问;

deny ADDRESS|CIDR|unix:|all;拒绝哪些ip地址进行访问;

location /status {
      stub_status on;
      allow 172.16.61.4;    #我们只将该页面限制在本地ip地址可以访问
      deny all;
}


**ngx_http_auth_basic_module模块的配置(basic认证)**



auth_basic string|off;使用http basic认证协议对用户进行认证;

auth_basic_user_file file;实现用户的账帐号文件;

[root@node3 conf.d]# htpasswd -c -d pass_file tz    #生成账户文件,需要放置到nginx的conf.d目录下
New password: 
Re-type new password: 
Warning: Password truncated to 8 characters by CRYPT algorithm.
Adding password for user tz

location /status {             #修改配置文件ststus页面认证方式
                stub_status  on;
                auth_basic      "Status  Area";   #认证界面提示符
                auth_basic_user_file  pass_file;
        }


wKiom1bcKgzyfQ19AABOW8PWAEI334.png


===========================================================================================