欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx記錄分析響應(yīng)慢的請(qǐng)求及替換網(wǎng)站響應(yīng)內(nèi)容的配置

 更新時(shí)間:2016年01月28日 09:44:20   投稿:goldensun  
這篇文章主要介紹了Nginx記錄分析響應(yīng)慢的請(qǐng)求及替換網(wǎng)站響應(yīng)內(nèi)容的配置,分別用到了ngx_http_log_request_speed模塊和ngx_http_sub_module模塊,需要的朋友可以參考下

nginx記錄分析網(wǎng)站響應(yīng)慢的請(qǐng)求(ngx_http_log_request_speed)
nginx模塊ngx_http_log_request_speed可以用來找出網(wǎng)站哪些請(qǐng)求很慢,針對(duì)站點(diǎn)很多,文件以及請(qǐng)求很多想找出哪些請(qǐng)求比較慢的話,這個(gè)插件非常有效.作者的初衷是寫給自己用的,用來找出站點(diǎn)中處理時(shí)間較長的請(qǐng)求, 這些請(qǐng)求是造成服務(wù)器高負(fù)載的很大根源. 日志記錄之后,在使用perl腳本分析日志,即可知道哪些請(qǐng)求需要修正.
1. 模塊安裝
nginx第三方模塊安裝方法這里就一筆略過了。
配置參數(shù)

./configure --prefix=/usr/local/nginx-1.4.1 --with-http_stub_status_module \
 --add-module=../ngx_http_log_request_speed

2. 指令log_request_speed
2.1 log_request_speed_filter
語法:

 log_request_speed_filter [on|off]

配置段: n/a
context: location, server, http
啟動(dòng)或禁用模塊
2.2 log_request_speed_filter_timeout
語法:

log_request_speed_filter_timeout [num sec]

默認(rèn): 5秒
配置段: location, server, http
這邊并不是真正意義的超時(shí),而是說當(dāng)請(qǐng)求超過這邊給定的時(shí)間,將會(huì)記錄到nginx錯(cuò)誤日志中. 默認(rèn)值是5000微秒(5秒),如果一個(gè)請(qǐng)求小于5秒,這個(gè)請(qǐng)求不會(huì)被記錄到日志中,但是如果超過5秒,那請(qǐng)求將會(huì)被記錄到nginx的錯(cuò)誤日志中
3. 使用實(shí)例
3.1 nginx配置

http{
   log_request_speed_filter on;
   log_request_speed_filter_timeout 3;
   ...
}

錯(cuò)誤日志中記錄的慢請(qǐng)求如下

201612894131459.jpg (620×115)

3.2 日志分析

cd /usr/local/nginx-1.4.1/logs
wget http://wiki.nginx.org/images/a/a8/Log_Analyzer.tar.gz
tar -xzvf Log_Analyzer.tar.gz
cd request_speed_log_analyzer
# cat ../error.log | grep 'process request'| ./analyzer.pl -r
POST /wp-admin/admin-ajax.php HTTP/1.1 --- avg ms: 1182, value count: 2
GET /shmb/1145.html HTTP/1.1 --- avg ms: 2976, value count: 1 <--- THE WINNER

從日志中,我們發(fā)現(xiàn)這邊有2條請(qǐng)求比較慢,最慢的是/shmb/1145.html ,而且還標(biāo)示“THE WINNER”,作者你贏了。很幽默。
3.3 分析腳本語法

# ./analyzer.pl -h 
  • -h : this help message # 顯示幫助信息
  • -u : group by upstream # 按upstream分組
  • -o : group by host # 按主機(jī)分組
  • -r : group by request # 按請(qǐng)求分組,推薦這個(gè)

4. nginx測試版本

目前作者只在0.6.35和0.7.64下測試,不保證其他環(huán)境下可以使用。我當(dāng)前的測試版本是1.4.1,目前使用正常,在使用前請(qǐng)大家先測試一下。

nginx替換網(wǎng)站響應(yīng)內(nèi)容(ngx_http_sub_module)
ngx_http_sub_module模塊是一個(gè)過濾器,它修改網(wǎng)站響應(yīng)內(nèi)容中的字符串,比如你想把響應(yīng)內(nèi)容中的‘jb51'全部替換成‘腳本之家',這個(gè)模塊已經(jīng)內(nèi)置在nginx中,但是默認(rèn)未安裝,需要安裝需要加上配置參數(shù):--with-http_sub_module
1.指令(Directives)
語法:    

sub_filter string replacement;

默認(rèn)值:     —
配置段:     http, server, location
設(shè)置需要使用說明字符串替換說明字符串.string是要被替換的字符串,replacement是新的字符串,它里面可以帶變量。
語法:    

sub_filter_last_modified on | off;

默認(rèn)值: sub_filter_last_modified off;
配置段:     http, server, location
這個(gè)指令在nginx 1.5.1中添加,我這個(gè)版本沒有,可以忽略掉.
Allows preserving the “Last-Modified” header field from the original response during replacement to facilitate response caching.
By default, the header field is removed as contents of the response are modified during processing.
語法:

 sub_filter_once on | off;

默認(rèn)值: sub_filter_once on;
配置段: http, server, location
字符串替換一次還是多次替換,默認(rèn)替換一次,例如你要替換響應(yīng)內(nèi)容中的jb51為腳本之家,如果有多個(gè)jb51出現(xiàn),那么只會(huì)替換第一個(gè),如果off,那么所有的jb51都會(huì) 被替換
語法:

 sub_filter_types mime-type ...;

默認(rèn)值: sub_filter_types text/html;
配置段: http, server, location
指定需要被替換的MIME類型,默認(rèn)為“text/html”,如果制定為*,那么所有的
2. nginx替換字符串實(shí)例
2.1 配置

server {
  listen    80;
  server_name www.dbjr.com.cn;
 
  root /data/site/www.dbjr.com.cn;  
 
  location / {
    sub_filter jb51 '腳本之家';
    sub_filter_types text/html;
    sub_filter_once on;
  }
}

2.2 測試
內(nèi)容如下

# cat /data/site/www.dbjr.com.cn/2013/10/20131001_sub1.html 
welcome to jb51!
jb51 TEAM!

訪問結(jié)果

# curl www.dbjr.com.cn/2013/10/20131001_sub1.html     

 

welcome to 腳本之家!
jb51 TEAM!

我們可以看到它替換是不區(qū)分大小寫的,而且jb51只被替換了一次。我把sub_filter_once on改成off試試。

location / {
  sub_filter jb51 '腳本之家';
  sub_filter_once off;
}

接著測試

# curl www.dbjr.com.cn/2013/10/20131001_sub1.html      
welcome to 腳本之家!
腳本之家 TEAM!

我們可以看到j(luò)b51都被替換掉了.
例如你想在</head>后追加一段js,配置如下:

location / {
  sub_filter   </head> '</head><script language="javascript" src="$script"></script>';
  sub_filter_once on;
}

這邊我就不再做測試了,大家可以測試一下.

相關(guān)文章

  • nginx 限速之limit_conn的使用

    nginx 限速之limit_conn的使用

    通過nginx我們有三種限速方式分別是: 限制請(qǐng)求數(shù)(request),限制連接數(shù)(connection),限制響應(yīng)速度(rate),本文就來介紹一下nginx 限速之limit_conn的使用,ngx_http_limit_conn_module 模塊主要是用于根據(jù)特定的key來限制連接的數(shù)量,感興趣的可以了解一下
    2023-10-10
  • Nginx反向代理proxy_cache_path directive is not allowed錯(cuò)誤解決方法

    Nginx反向代理proxy_cache_path directive is not allowed錯(cuò)誤解決方法

    這篇文章主要介紹了Nginx反向代理proxy_cache_path directive is not allowed錯(cuò)誤解決方法,需要的朋友可以參考下
    2015-04-04
  • nginx代理80端口不生效的解決方案

    nginx代理80端口不生效的解決方案

    如果你的 Nginx 代理配置了端口 80,并且訪問時(shí)仍然顯示默認(rèn)的 Nginx 頁面,可能有許多原因?qū)е?本文給大家介紹了產(chǎn)生的原因和解決方案,具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-02-02
  • nginx網(wǎng)站服務(wù)如何配置防盜鏈(推薦)

    nginx網(wǎng)站服務(wù)如何配置防盜鏈(推薦)

    這篇文章主要介紹了nginx網(wǎng)站服務(wù)如何配置防盜鏈,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • 教你在容器中使用nginx搭建上傳下載的文件服務(wù)器

    教你在容器中使用nginx搭建上傳下載的文件服務(wù)器

    這篇文章主要介紹了容器中使用nginx搭建支持上傳下載的文件服務(wù)器,在這需要注意為了讓nginx支持文件上傳,需要下載并運(yùn)行帶有nginx-upload-module模塊的容器,需要的朋友可以參考下
    2022-05-05
  • nginx配置IP白名單的詳細(xì)步驟

    nginx配置IP白名單的詳細(xì)步驟

    在日常運(yùn)維工作中會(huì)碰到這樣的需求,設(shè)置網(wǎng)站訪問只對(duì)某些ip開放,其他ip的客戶端都不能訪問,下面這篇文章主要給大家介紹了關(guān)于nginx配置IP白名單的詳細(xì)步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-12-12
  • nginx 虛擬主機(jī)設(shè)置實(shí)例(多網(wǎng)站配置)

    nginx 虛擬主機(jī)設(shè)置實(shí)例(多網(wǎng)站配置)

    Nginx 虛擬主機(jī)設(shè)置一例,主要是針對(duì)虛擬主機(jī)的設(shè)置,多網(wǎng)站配置方法,需要的朋友可以參考下
    2013-02-02
  • nginx FastCGI錯(cuò)誤Primary script unknown解決辦法

    nginx FastCGI錯(cuò)誤Primary script unknown解決辦法

    這篇文章主要介紹了nginx錯(cuò)誤Primary script unknown解決辦法,需要的朋友可以參考下
    2014-03-03
  • Nginx配置多端口多域名訪問的實(shí)現(xiàn)

    Nginx配置多端口多域名訪問的實(shí)現(xiàn)

    這篇文章主要介紹了Nginx配置多端口多域名訪問的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Nginx使用的php-fpm的兩種進(jìn)程管理方式及優(yōu)化

    Nginx使用的php-fpm的兩種進(jìn)程管理方式及優(yōu)化

    這篇文章主要介紹了Nginx使用的php-fpm的兩種進(jìn)程管理方式及優(yōu)化,需要的朋友可以參考下
    2016-09-09

最新評(píng)論