Nginx的location区块的作用及设置
1.location的作用
????location指令的作用是根據(jù)用戶請求的URI來執(zhí)行不同的應(yīng)用,也就是根據(jù)用戶請求的網(wǎng)站URL進(jìn)行匹配,匹配成功即進(jìn)行相關(guān)的操作。
2.location的語法
????location的語法是:
??location??[?=?|?~?|?~*?|?^~?]?????uri??????????{?....?} #?|?指令??|?|?????匹配標(biāo)識????|??|匹配的網(wǎng)站網(wǎng)址|??|匹配URI之后要執(zhí)行的配置段|? ? 其中"="的優(yōu)先級為最高,為精確匹配;特殊字符"~"和"~*"的區(qū)別在于前者區(qū)分大小寫,后者不區(qū)分大小寫,他們還可以用邏輯操作符"!"來取反匹配;"^~"的意思是匹配之后不做正則表達(dá)式的檢查,就是不用匹配類似于"\.(gif|jpg|jpeg)$"的正則表達(dá)式了,也就是說"^~"后面跟了正則表達(dá)式也沒有用的。
????location的匹配示例:
location?=?/?{?[?configuration?A?]?}?????????????????????#用戶請求"/"時,匹配A,例如:www.pcm.com/ location?/?{?[?configuration?B?]?}???????????????????????#當(dāng)用戶請求"/index.html"時,匹配B,例如:www.pcm.com/index.html location?/documents/?{?[?configuration?C?]?}?????????????#當(dāng)用戶請求"/documents/"時,匹配C,例如:www.pcm.com/documents/index.html?????? location?^~?/images/?{?[?configuration?D?]?}?????????????#當(dāng)用戶請求"/images/"時,匹配D,:www.pcm.com/images/1.jpg? location?~*?\.(gif|jpg|jpeg)$?{?[?configuration?E?]?}????#當(dāng)用戶請求".gif|.jpg|.jpeg"時,匹配E,例如:www.pcm.com/documents/1.jpg#上面的反斜杠是轉(zhuǎn)義字符,$的意思是結(jié)尾3.location實驗驗證
????我們在bbs的主機上做驗證,配置文件如下:
server?{listen???????80;server_name??bbs.pcm.com;root???html/bbs;location?=?/?{return?401;?}location?/?{return?402;?}location?/documents/?{return?403;?}location?^~/images/?{return?404;?}location?~*?\.(gif|jpg|jpeg)$?{return?405;?} }????檢查語法,沒問題的話重新加載配置文件,平滑重啟nginx
????實驗的結(jié)果如下:
????從上圖可以驗證到結(jié)果沒問題的。其中l(wèi)ocation配對的方法是每條規(guī)則都去匹配,直到匹配到最為匹配的結(jié)果才輸出;還有就是"/"這個是默認(rèn)匹配的,如果都匹配不上的時候,最后就會默認(rèn)匹配"/",所以輸出的結(jié)果為402.
轉(zhuǎn)載于:https://blog.51cto.com/superpcm/2092317
總結(jié)
以上是生活随笔為你收集整理的Nginx的location区块的作用及设置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python之——遇到的小知识点总结
- 下一篇: RabbitMq集群使用Nginx做负载