成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Nginx location你需要知道這些!

Atom / 2950人閱讀

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

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

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

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

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

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

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

location = / {
    [ configuration A ]
}

location / {
    [ configuration B ]
}

location /documents/ {
    [ configuration C ]
}

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

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

請(qǐng)求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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/39770.html

相關(guān)文章

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

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

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

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

    xiao7cn 評(píng)論0 收藏0
  • Nginx location 配置踩坑過(guò)程分享

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

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

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

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

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

    DTeam 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<