在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_req_status模块实录
生活随笔
收集整理的這篇文章主要介紹了
在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_req_status模块实录
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
ngx_req_status是一個第三方模塊,它用來展示nginx請求狀態(tài)信息,類似于apache的status,ats的stats_over_http和channel_stats,nginx自帶的模塊只能顯示連接數(shù)等等信息,我們并不能知道到底有哪些請求、以及各url域名所消耗的帶寬是多少。ngx_req_status提供了這些功能:
功能特性
按域名、url、ip等等統(tǒng)計信息
統(tǒng)計總流量
統(tǒng)計當前帶寬\峰值帶寬
統(tǒng)計總請求數(shù)量
該模塊的官網(wǎng)地址
https://github.com/zls0424/ngx_req_status.git
下載源碼并手動打補丁
下載它的源碼,發(fā)現(xiàn)該模塊源碼比較早,最新的補丁是write_filter-1.7.11.patch,鑒于當前nginx的版本是1.12.2,最穩(wěn)妥的方法是
參照該補丁文件,直接手動修改現(xiàn)在的相應源文件(行號相差不太遠)
src/http/ngx_http_write_filter_module.c? 第263行
相關聲明在
src/http/ngx_http.h
src/http/ngx_http.c
src/http/ngx_http_core_module.h
編譯
下面開啟編譯該模塊的源碼
cd nginx-1.12.2
./configure --with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.41 \
--with-zlib=/usr/local/src/zlib-1.2.11 \
--with-openssl=/usr/local/src/openssl-1.1.0g \
--with-http_stub_status_module \
--add-module=/usr/local/src/ngx_cache_purge \
--add-module=/usr/local/src/ngx_req_status
make
make install
配置
在nginx.conf的某個server塊中添加
https://github.com/taoyunxing/github_test/blob/master/nginx.conf
然后檢查nginx.conf語法合法性并重啟nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
注意重啟并不會生效
/usr/local/nginx/sbin/nginx -s reload
指令解釋
req_status_zone
語法: req_status_zone name string size
默認值: None
配置塊: http
定義請求狀態(tài)ZONE,請求按照string分組來排列,例如:
req_status_zone server_url? $server_name$uri 256k;
域名+uri將會形成一條數(shù)據(jù),可以看到所有url的帶寬,流量,訪問數(shù)
req_status
語法: req_status zone1[ zone2]
默認值: None
配置塊: http, server, location
在location中啟用請求狀態(tài),你可以指定更多zones。
req_status_show
語法: req_status_show on
默認值: None
配置塊: location
展示數(shù)據(jù)
測試
curl -v 'http://127.0.0.1/ngx_req_status'
參考文獻
[1].http://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/
[2].https://www.cnblogs.com/onew/p/5186583.html
[3].https://github.com/zls0424/ngx_req_status
功能特性
按域名、url、ip等等統(tǒng)計信息
統(tǒng)計總流量
統(tǒng)計當前帶寬\峰值帶寬
統(tǒng)計總請求數(shù)量
該模塊的官網(wǎng)地址
https://github.com/zls0424/ngx_req_status.git
下載源碼并手動打補丁
下載它的源碼,發(fā)現(xiàn)該模塊源碼比較早,最新的補丁是write_filter-1.7.11.patch,鑒于當前nginx的版本是1.12.2,最穩(wěn)妥的方法是
參照該補丁文件,直接手動修改現(xiàn)在的相應源文件(行號相差不太遠)
src/http/ngx_http_write_filter_module.c? 第263行
相關聲明在
src/http/ngx_http.h
src/http/ngx_http.c
src/http/ngx_http_core_module.h
編譯
下面開啟編譯該模塊的源碼
cd nginx-1.12.2
./configure --with-http_ssl_module \
--with-pcre=/usr/local/src/pcre-8.41 \
--with-zlib=/usr/local/src/zlib-1.2.11 \
--with-openssl=/usr/local/src/openssl-1.1.0g \
--with-http_stub_status_module \
--add-module=/usr/local/src/ngx_cache_purge \
--add-module=/usr/local/src/ngx_req_status
make
make install
配置
在nginx.conf的某個server塊中添加
http {req_status_zone server_name $server_name 256k;req_status_zone server_addr $server_addr 256k;req_status_zone server_url $server_name$uri 256k;req_status server_name server_addr server_url;server {server_name localhost;location /ngx_req_status {req_status_show on;} }
}完整的nginx.conf文件如下:
https://github.com/taoyunxing/github_test/blob/master/nginx.conf
然后檢查nginx.conf語法合法性并重啟nginx
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nginx/sbin/nginx
注意重啟并不會生效
/usr/local/nginx/sbin/nginx -s reload
指令解釋
req_status_zone
語法: req_status_zone name string size
默認值: None
配置塊: http
定義請求狀態(tài)ZONE,請求按照string分組來排列,例如:
req_status_zone server_url? $server_name$uri 256k;
域名+uri將會形成一條數(shù)據(jù),可以看到所有url的帶寬,流量,訪問數(shù)
req_status
語法: req_status zone1[ zone2]
默認值: None
配置塊: http, server, location
在location中啟用請求狀態(tài),你可以指定更多zones。
req_status_show
語法: req_status_show on
默認值: None
配置塊: location
展示數(shù)據(jù)
測試
curl -v 'http://127.0.0.1/ngx_req_status'
參考文獻
[1].http://www.ttlsa.com/nginx/nginx-modules-ngx_req_status/
[2].https://www.cnblogs.com/onew/p/5186583.html
[3].https://github.com/zls0424/ngx_req_status
總結
以上是生活随笔為你收集整理的在CentOS 6.9 x86_64的nginx 1.12.2上开启ngx_req_status模块实录的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在CentOS 6.9 x86_64上开
- 下一篇: 在CentOS 6.9 x86_64的n