Nginx深刻了解-基礎(三)

nginx有不少模塊配置,包括官方模塊和第三方模塊。
  • http_stub_status_modules配置
Syntax:stub_status
Default:--
Context:server,location

例如:php

server {
    ...
    location /mystatus {
        stub_status;
    }

}
  • random_index_module展現隨機的首頁
Syntax:random_index on | off
Default:random_index off
Context:location
server {
    ...
    location / {
        root /opt/app/code;
        random_index on;
    }
}
  • http_sub_module html內容替換,只能替換第一個
Syntax:sub_filter string replacement;
Default:--
Context:http,server,location
server {
    ...
    location / {
        root ...;
        index index.html index.php;
        sub_filter '替換前的內容' '替換後的內容'; 
    }
}

Syntax:sub_filter_last_modified on|off;主要用於緩存
Default:sub_filter_last_modified off;
Content:http,server,location

Syntax:sub_filter_once on|off; 全局/非全局替換
Default:sub_filter_once on;
Context:http,server,location
server {
    ...
    location / {
        root ...;
        index index.html index.php;
        sub_filter '替換前的內容' '替換後的內容';
        sub_filter_once off; // 所有替換
    }
}
  • Nginx的請求限制
鏈接頻率限制:limit_conn_module
請求頻率限制:limit_req_module

鏈接限制:html

Syntax:limit_conn_zone key zone=name:size;
Default:--
Context:http

Syntax:limit_conn zone number;// 須要基於limit_conn_zone
Default:--
Context:http,server,location

請求限制:node

Syntax:limit_req_zone key zone=name:size rate=rate;
Default:--
Context:http

Syntax:limit_req zone=name burst=number;// 須要基於limit_req_zone
Default:--
Context:http,server,location
http {
    ....
    limit_conn_zone $binanry_remote_addr zone=conn_zone:1m;
    limit_req_zone $binanry_remote_addr zone=req_zone:1m rate=1r/s;
}

server {
    ...
    location / {
        ...
        limit_conn conn_zone 1;
        limit_req zone=req_zone burst=3 nodelay;
        limit_req zone=req_zone burst=3;
        limit_req zone=req_zone;
    }
}
相關文章
相關標籤/搜索