nginx配置location總結

2021-09-02 21:08:33 字數 1638 閱讀 3132

上**,多的不說了,配了很多,終於起效了。

對nginx 來說,實現的方法很簡單,只要在location段中,使用 expires 就可以了

格式expires 30s; //表示把資料快取30秒

expires 30m;//表示把資料快取30分

expires 10h;//表示把資料快取10小時

expires 1d;//表示把資料快取1

location正則寫法

已=開頭表示精確匹配

如 a 中只匹配根目錄結尾的請求,後面不能帶任何字串。

^~ 開頭表示uri以某個常規字串開頭,不是正則匹配

~ 開頭表示區分大小寫的正則匹配;

~* 開頭表示不區分大小寫的正則匹配

/ 通用匹配, 如果沒有其它匹配,任何請求都會匹配到

順序 no優先順序:

(location =) > (location 完整路徑) > (location ^~ 路徑) > (location ~,~* 正則順序) > (location 部分起始路徑) > (/)

上面的匹配結果

按照上面的location寫法,以下的匹配示例成立:

/ -> config a

精確完全匹配,即使/index.html也匹配不了

/downloads/download.html -> config b

匹配b以後,往下沒有任何匹配,採用b

/images/1.gif -> configuration d

匹配到f,往下匹配到d,停止往下

/images/abc/def -> config d

最長匹配到g,往下匹配d,停止往下

你可以看到 任何以/images/開頭的都會匹配到d並停止,fg寫在這裡是沒有任何意義的,h是永遠輪不到的,這裡只是為了說明匹配順序

/documents/document.html -> config c

匹配到c,往下沒有任何匹配,採用c

匹配到c,往下正則匹配到e

最長匹配到c,往下正則順序匹配到cc,不會往下到e

實際使用建議

所以實際使用中,個人覺得至少有三個匹配規則定義,如下:

#直接匹配**根,通過網域名稱訪問**首頁比較頻繁,使用這個會加速處理,官網如是說。

#這裡是直接**給後端應用伺服器了,也可以是乙個靜態首頁

# 第乙個必選規則

location = /

# 第二個必選規則是處理靜態檔案請求,這是nginx作為http伺服器的強項

# 有兩種配置模式,目錄匹配或字尾匹配,任選其一或搭配使用

#第三個規則就是通用規則,用來**動態請求到後端應用伺服器

#非靜態檔案請求就預設是動態請求,自己根據實際把握

#畢竟目前的一些框架的流行,帶.php,.jsp字尾的情況很少了

location /

下面是 nginx.conf 配置資訊

Nginx配置基礎 location

location表示式型別 表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配。使用字首匹配。如果匹配成功,則不再匹配其他location。進行普通字元精確匹配。也就是完全匹配。常規字串匹配。按字首匹配。它定義乙個命名的 location,使用在內部定向時,例如 ...

nginx配置命令 location配置

波浪線表示執行乙個正則匹配,區分大小寫 表示執行乙個正則匹配,不區分大小寫 表示普通字元匹配,如果該選項匹配,只匹配該選項,不匹配別的選項,一般用來匹配目錄。進行普通字元精確匹配。定義乙個命名的 location,使用在內部定向時,例如 error page,try files。按配置檔案順序搜尋下...

nginx配置 (二)Location配置總結

語法規則 location uri 開頭表示精確匹配 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為 static 20 aa,可以被規則 static aa匹配到 注意是空格 開頭表示區分大小寫的正則匹配 開頭表示不區分大小寫的正則匹配 和 分...