成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Nginx location你需要知道這些!

Atom / 3003人閱讀

摘要:首先,首先會檢查所有的前綴,從中選出最長前綴匹配也就是修飾符后面的路徑最長的的并記下。然后,如果存在正則時,按照其出現(xiàn)的順序,依次匹配,找到匹配的正則就不再繼續(xù)往下,并選擇該作為最終的結(jié)果。

場景:
在項(xiàng)目開發(fā)中經(jīng)常會遇到nginx配置文件中,會有很多條location配置,卻讀不懂其中的含義而煩惱
Location是什么?
Location是Nginx中的塊級指令(block directive),
通過配置Location指令塊,可以決定客戶端發(fā)過來的請求URI如何處理(是映射到本地文件還是轉(zhuǎn)發(fā)出去)及被哪個location處理
Location基本語法
          修飾符(modifier)         
location [ = | ~ | ~* | ^~ ]     uri     { ... } 
location根據(jù)不同的修飾符可以分為兩大類
  1. 前綴location(prefix location): 
    無修飾符的普通location
    帶=的精準(zhǔn)匹配location
    帶^~的非正則表達(dá)式location
  2.正則表達(dá)式location(regular expressions location):
    ~    區(qū)分大小寫的正則location
    ~*   不區(qū)分大小寫的正則location
Location基本匹配規(guī)則

匹配規(guī)則是指當(dāng)請求到達(dá)nginx時,nginx如何決定該使用哪條location。

首先,nginx首先會檢查所有的前綴location,從中選出最長前綴匹配(也就是修飾符后面的路徑最長的)的location并記下。

然后,如果存在正則location時,按照其出現(xiàn)的順序,依次匹配URI,找到匹配的正則location就不再繼續(xù)往下,并選擇該location作為最終的結(jié)果。(劃重點(diǎn):正則location出現(xiàn)的順序很重要)

Location特殊匹配規(guī)則1
如果最長前綴匹配location的修飾符是^~時,就不會檢查正則location了,直接選擇該location為最終location
Location特殊匹配規(guī)則2
如果存在精準(zhǔn)匹配location,且請求的uri跟其完全匹配,選擇該精準(zhǔn)匹配location作為最終的location
測試下自己的理解是否準(zhǔn)確:

下面是一個location配置參考,以及不同的請求uri到達(dá)nginx時會執(zhí)行的規(guī)則

location = / {
    [ configuration A ]
}

location / {
    [ configuration B ]
}

location /documents/ {
    [ configuration C ]
}

location ^~ /images/ {
    [ configuration D ]
}

location ~* .(gif|jpg|jpeg)$ {
    [ configuration E ]
}

請求URI                        執(zhí)行的規(guī)則
/                             A
/index.html                   B
/documents/document.html      C
/images/1.gif                 D
/documents/1.jpg              E

參考文獻(xiàn):
[Nginx官網(wǎng)location解釋][1]

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.hztianpu.com/yun/39770.html

相關(guān)文章

  • 關(guān)于 nginx 前端知道這些就夠了

    摘要:我備案了個域名,買了一個阿里云服務(wù)器,想要搭建幾個自己的網(wǎng)站,難免要接觸。創(chuàng)建軟鏈接假如我們每個網(wǎng)站程序放在一個文件夾里,該程序的配置文件也應(yīng)該放在這個文件夾里才方便管理。 我備案了個域名,買了一個阿里云服務(wù)器,想要搭建幾個自己的網(wǎng)站,難免要接觸 nginx。 那么我用 nginx 來干嘛呢: 靜態(tài)資源反向代理 將域名泛解析到服務(wù)器之后,通過 nginx 來給不同的二級域名分配服務(wù)器...

    Alfred 評論0 收藏0
  • 關(guān)于 nginx 前端知道這些就夠了

    摘要:我備案了個域名,買了一個阿里云服務(wù)器,想要搭建幾個自己的網(wǎng)站,難免要接觸。創(chuàng)建軟鏈接假如我們每個網(wǎng)站程序放在一個文件夾里,該程序的配置文件也應(yīng)該放在這個文件夾里才方便管理。 我備案了個域名,買了一個阿里云服務(wù)器,想要搭建幾個自己的網(wǎng)站,難免要接觸 nginx。 那么我用 nginx 來干嘛呢: 靜態(tài)資源反向代理 將域名泛解析到服務(wù)器之后,通過 nginx 來給不同的二級域名分配服務(wù)器...

    xiao7cn 評論0 收藏0
  • Nginx location 配置踩坑過程分享

    摘要:所以到目前為止,基本可以肯定是的上出了一些問題。問題解決因篇幅有限,為了直面本次問題的核心,我不再貼出完整的配置,我簡化此次問題的模型。 這是五個小時與一個字符的戰(zhàn)斗 是的,作為一個程序員,你往往發(fā)現(xiàn),有的時候你花費(fèi)了數(shù)小時,數(shù)天,甚至數(shù)星期來查找問題,但最終可能只花費(fèi)了數(shù)秒,改動了數(shù)行,甚至幾個字符就解決了問題。這次給大家分享一個困擾了我很久,我花了五個小時才查找出問題原因...

    alighters 評論0 收藏0
  • 調(diào)試 Nginx 的配置

    摘要:調(diào)試的配置標(biāo)簽空格分隔調(diào)試配置注該文原文是默認(rèn),僅僅記錄標(biāo)準(zhǔn)錯誤日志到默認(rèn)的文件中,或是被指令指定的文件中。重要對于配置文件的任何改變,你都必須測試和重載的配置文件來讓變更生效。將記錄最大的消息。 調(diào)試 Nginx 的配置 標(biāo)簽(空格分隔): Nginx 調(diào)試 Debuging 配置 注:該文原文是 Debugging Nginx Configuration 默認(rèn),Ng...

    zhunjiee 評論0 收藏0
  • nginx反向代理、動靜分離、負(fù)載均衡

    摘要:反向代理要說反向代理,我們就先要理解正向代理下面我們就談?wù)務(wù)虼砗头聪虼戆???蛻舳瞬拍苁褂谜虼?。反向代理總結(jié)就一句話代理端代理的是服務(wù)端。因此,動態(tài)資源轉(zhuǎn)發(fā)到服務(wù)器我們就使用到了前面講到的反向代理了。 反向代理 要說反向代理,我們就先要理解正向代理 ,下面我們就談?wù)務(wù)虼砗头聪虼戆伞?正向代理 一個位于客戶端和原始服務(wù)器(origin server)之間的服務(wù)器,為了從原始...

    DTeam 評論0 收藏0

發(fā)表評論

0條評論

閱讀需要支付1元查看
<