前言
nginx中有一個模塊http_stub_status_module,這個模塊主要功能是記錄Nginx的基本訪問信息狀態,讓使用者瞭解nginx的工作狀態,例如連接數等信息。要使用狀態模塊,在編譯nginx時,必須要增加-http_stub_status_module模塊來支持。
實際操作
查看是否已經安裝
[root@private ~]# nginx -V
nginx version: nginx/1.12.0
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
修改配置文件
[root@private extra]# pwd
/usr/local/nginx/conf/extra
[root@private extra]# cat status.conf
server{
listen 80;
server_name status.haiyuan.org;
location / {
stub_status on;
access_log off;
}
}
[root@private extra]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 blog.haiyuan.org
127.0.0.1 status.haiyuan.org
其中`stub_status on;` 表示打開狀態信息開關
檢查語法:
[root@private extra]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
重置服務,使配置生效,驗證結果。
[root@private extra]# /etc/init.d/nginx reload
reload nginx [OK]
[root@private extra]# curl http://status.haiyuan.org
Active connections: 1
server accepts handled requests
294 294 290
Reading: 0 Writing: 1 Waiting: 0
其中第一個server表示nginx啟動到現在共處理了294個連接;
第二個accepts表示Nginx啟動到現在成功創建了294次握手;
第三個handled requests,表示總共處理了290次請求;
請求丟失數 = (握手數 - 連接數)
Reading為nginx讀取到客戶端的Header信息數;
Writing為nginx返回給客戶端的Header信息數;
Waiting為nginx已經處理完正在等候下一次請求指令的駐留連接,在開啟keep-alive的情況下,這個值等於active- (reading + writing)
特別提示:為了安全起見,這個狀態信息要防止外部用戶查看。