在Nginx的插件模塊中有一個模塊stub_status可以監(jiān)控Nginx的一些狀態(tài)信息,默認安裝可能沒有這個模塊,手動編譯的時候加一下即可。
1. 模塊安裝
先使用命令查看是否已經(jīng)安裝這個模塊:
復(fù)制代碼 代碼如下:
[root@ihxb123Z nginx]# ./nginx -V (V大寫會顯示版本號和模塊等信息、v小寫僅顯示版本信息。
如果已經(jīng)安裝,會在顯示的信息中包含 --with-http_stub_status_module信息。如果沒有此模塊,需要重新安裝,編譯命令如下:
./configure –with-http_stub_status_module
2. Nginx配置
安裝后只要修改nginx配置即可,配置如下:
location /hxbcdnstatus {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
#auth_basic "NginxStatus";
#auth_basic_user_file conf/nginxstaus;
}
此處默認只有本地訪問,如果遠程可以查看需要加相關(guān)的IP或者干脆去掉Deny all即可。加密文件可以使用#htpasswd -c /usr/nginx/conf hxb 命令來創(chuàng)建。配置完成后需要重啟Nginx服務(wù)。
狀態(tài)配置只能是針對某個Nginx服務(wù)。目前Nginx還無法做到針對單個站點進行監(jiān)控。
3. 狀態(tài)查看
配置完成后在瀏覽器中輸入http://127.0.0.1/hxbcdnstatus查看,顯示信息如下:
Active connections: 100
server accepts handled requests
1075 1064 6253
Reading: 0 Writing: 5 Waiting: 95
4. 參數(shù)說明
active connections – 活躍的連接數(shù)量
server accepts handled requests — 總共處理了107520387個連接 , 成功創(chuàng)建107497834次握手, 總共處理了639121056個請求
每個連接有三種狀態(tài)waiting
、reading
、writing
reading —讀取客戶端的Header信息數(shù).這個操作只是讀取頭部信息,讀取完后馬上進入writing狀態(tài),因此時間很短。
writing — 響應(yīng)數(shù)據(jù)到客戶端的Header信息數(shù).這個操作不僅讀取頭部,還要等待服務(wù)響應(yīng),因此時間比較長。
waiting — 開啟keep-alive后等候下一次請求指令的駐留連接.
正常情況下waiting數(shù)量是比較多的,并不能說明性能差。反而如果reading+writing數(shù)量比較多說明服務(wù)并發(fā)有問題。
補充:
查看Nginx并發(fā)進程數(shù):ps -ef | grep nginx | wc -l
查看Web服務(wù)器TCP連接狀態(tài):netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。