Linux下Nginx的監控



一、安裝Nginx

使用源碼編譯安裝,包括具體的編譯參數信息。

正式開始前,編譯環境gcc g++ 開發庫之類的需要提前裝好。

安裝make:

yum -y install gcc automake autoconf libtool make

安裝g++:

yum install gcc gcc-c++

一般我們都需要先裝pcre, zlib,前者為了重寫rewrite,后者為了gzip壓縮。

1.選定源碼目錄

可以是任何目錄,本文選定的是/usr/local/src

cd /usr/local/src

2.安裝PCRE庫

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz 下載最新的 PCRE 源碼包,使用下面命令下載編譯和安裝 PCRE 包:

cd /usr/local/srcwget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gztar -zxvf pcre-8.39.tar.gzcd pcre-8.39./configuremake && make install

3.安裝zlib庫

http://zlib.net/zlib-1.2.11.tar.gz 下載最新的 zlib 源碼包,使用下面命令下載編譯和安裝 zlib包:

  cd /usr/local/src

  wget http://zlib.net/zlib-1.2.11.tar.gz

  tar -zxvf zlib-1.2.11.tar.gz

  cd zlib-1.2.11

  ./configure

  make && make install

4.安裝ssl(某些vps默認沒裝ssl)

cd /usr/local/srcwget https://www.openssl.org/source/openssl-1.1.0b.tar.gztar -zxvf openssl-1.1.0b.tar.gz

./config cd make && make install

5、安裝Nginx

把 Nginx 安裝到 /usr/local/nginx 目錄下的詳細步驟:

 cd /usr/local/src wget http://nginx.org/download/nginx-1.10.2.tar.gz tar -zxvf nginx-1.10.2.tar.gz cd nginx-1.10.2

1、配置Nginx的安裝參數

./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.39 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl-1.1.0b  --prefix=/usr/local/nginx --with-http_stub_status_module

2、編譯安裝

make && make install

3、啟動Nginx

/usr/local/nginx/nginx 

網頁訪問查看是否正常啟動:

5、配置Nginx的監控選項:

配置文件路徑:/usr/local/nginx/nginx.conf

添加如下代碼:

#設定Nginx狀態訪問地址

location /NginxStatus {

stub_status on;

access_log on;

auth_basic "NginxStatus";

#auth_basic_user_file conf/htpasswd;

}

配置完成重啟Nginx,命令:/usr/local/nginx/nginx  -s reload

6、狀態查看

配置完成后在瀏覽器中輸入http://192.168.0.194/NginxStatus查看,顯示信息如下:

7、 參數說明

  active connections – 活躍的連接數量

  server accepts handled requests — 總共處理了107520387個連接 , 成功創建107497834次握手, 總共處理了639121056個請求

  每個連接有三種狀態waiting、reading、writing

  reading —讀取客戶端的Header信息數.這個操作只是讀取頭部信息,讀取完后馬上進入writing狀態,因此時間很短。

  writing — 響應數據到客戶端的Header信息數.這個操作不僅讀取頭部,還要等待服務響應,因此時間比較長。

  waiting — 開啟keep-alive后等候下一次請求指令的駐留連接.

  正常情況下waiting數量是比較多的,並不能說明性能差。反而如果reading+writing數量比較多說明服務並發有問題。


補充:
  查看Nginx並發進程數:ps -ef | grep nginx | wc -l
  查看Web服務器TCP連接狀態:netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM