Nginx(三) -- ngx_http_core_module

一:位置替換

1.1 alias

只能做用於location中html

# 替換掉location定義的訪問路徑
# 圖片資源在image/下,訪問http:zsl.com/alias/1.jpg返回image/1.jpg圖片
location /alias {
  alias image;
}
# 若是location結尾定義了/,alias結尾必須用/結束
location /alias/ {
  alias image/;
}
複製代碼

1.2 root

能夠做用於http、server、location、if in locationnginx

# 訪問路徑前增長一段根目錄
# 圖片在image/root/,訪問http://zsl.com/root/1.jpg返回image/root/1.jpg
location /root {
    root image;
}
複製代碼

二:請求頭與請求體

2.1 client_header_buffer_size

能夠做用於http、serverjson

# 定義客戶端請求頭緩衝區大小
# 默認值1K
# 若是超過設定值則會large_client_header_buffers參數分配
client_header_buffer_size 1k;
複製代碼

2.2 large_client_header_buffers

能夠做用於http、server緩存

# 定義客戶端大請求頭緩衝數量以及大小
# 默認值有4個 8K大緩衝
# 這是臨時分配緩衝內存,使用完畢將被回收
# number 表示開闢的數量 size表示開票的大小
# 每一個請求只能佔用一個large_client_header_buffers,超過返回414狀態碼
large_client_header_buffers number size
複製代碼

2.3 client_header參數配置建議

  • 頻繁請求的請求頭巨大,考慮設置修改client_header_buffer_size大小
  • 偶爾請求的請求頭巨大,考慮設置修改large_client_header_buffers。由於這是申請的臨時內存,使用完之後會被回收,減小內存佔用
  • 不論多少server配置了client_header_buffer_size/large_client_header_buffers,最後這個參數值會選定default_server設定的值做爲最終值

2.4 client_max_body_size

能夠做用於http、server、locationbash

# 請求體最大正文
# 默認值在64位平臺上爲512字節
# 若是超過這個配置則會返回413狀態異常碼
client_max_body_size 512k
複製代碼

2.5 client_body_buffer_size

能夠做用於http、server、locationapp

# 請求體內存緩存大小
# 默認值在64位平臺上爲16k
# 超過設定值則會根據client_body_temp_path 參數寫入臨時文件
client_body_buffer_size 16k
複製代碼

2.6 client_body_temp_path

能夠做用於http、server、locationui

# client_body超過buffer設定值之後臨時文件位置
# 默認位置爲client_body_temp
client_body_temp_path client_body_temp
複製代碼

2.7 client_body參數配置建議

爲了儘可能使用內存避免臨時文件的IO讀寫浪費,最好是將client_body_buffer_size大小設置爲與client_max_body_size一致spa

三:KeepAlive

3.1 keepalive_requests

能夠做用於http、server、locationcode

# 鏈接發出限定數量請求後關閉
# 能夠有效清理鏈接佔用內存
# 默認100,不建議設置過大
keepalive_requests 100
複製代碼

3.2 keepalive_timeout

能夠做用於http、server、locationserver

# timeout表示鏈接閒置存活時間
# header_timeout表示在response響應頭中增長Keep-Alive: timeout=
keepalive_timeout timeout [header_timeout]
複製代碼

四:location配置

nginx對請求的處理落腳點仍是在location上,uri經過規則與location進行匹配。location匹配路徑配置方式以下,文中順序爲匹配優先級,即多個location匹配時須要根據優先級決定處理的location

4.1 規則匹配類型

匹配規則 規則描述 優先級別
= 全量匹配,uri必須與location規則一致 1
^~ 前置匹配,uri從左開始前置內容徹底與location規則一致 2
~ 正則匹配,支持正則符號匹配 3
~* 正則匹配,忽略大小寫 4
/zsl 前置匹配,與^~衝突互斥 5
/ 任何匹配都會成功 6

五:default_type

能夠做用於http、server、location

# 指定處理文件類型
default_type application/json;
複製代碼

六:error_page

能夠做用於http, server, location, if in location

# 處理指定錯誤狀態碼請求
# error_page code ... [=] uri;
# code 指定處理的錯誤狀態碼
# = 能夠指定修改返回的狀態碼
# uri 處理該錯誤的uri從新進行location匹配
error_page 404 /error.html;
location = /error.html {
    root html;
}
複製代碼
相關文章
相關標籤/搜索