欧美一区2区三区4区公司二百,国产精品婷婷午夜在线观看,自拍偷拍亚洲精品,国产美女诱惑一区二区

歡迎來到夢飛科技

服務(wù)器租用

當(dāng)前優(yōu)惠活動:

Nginx設(shè)置文件中l(wèi)ocation指令的一些簡樸說明

在這一篇文章里,我將先容nginx關(guān)于location的處理懲罰,各人都知道Nginx設(shè)置文件內(nèi)里會有許多的location,nginx的設(shè)置指令的浸染域可以分為 main,server,location這3個種,實際上這3者不是依次包括的干系,而是彼此獨立的干系,好比一個只具有main級別浸染域的指令,是不能寫在某個server可能location內(nèi)的,模塊的某個指令可以同時具有main,server,location這3種浸染域,別的每個模塊有 main,srv,loc這3個級此外設(shè)置,一個模塊的main級此外設(shè)置對所有的server和location都是共享的,srv級此外設(shè)置對所有 location都是共享的,location只有本身獨立的loc級此外設(shè)置,這就是為什么一個模塊的srv和loc級此外設(shè)置需要merge,而 main級此外設(shè)置不需要merge的原因。這里看起來有點繞,區(qū)分一下main,server,location別離作為一種浸染域級別和一個主體,雷同于形容詞和名字的區(qū)別,nginx的設(shè)置干系照舊不難領(lǐng)略的。

        一般來一個請求url過來,nginx會將它理會到某一個location來處理懲罰。這個理會的進(jìn)程實際上按照location的設(shè)置根基可以分為字符串匹配和正則表達(dá)式匹配這2種。對付location的組織方法,最簡樸的就是直接將它們生存為一個鏈表,理會url的時候一個一個遍歷即可找到相應(yīng)location,可是這樣效率太低,對像nginx這種高機(jī)能的處事器來是完全不行取的,nginx將字符串匹配的location組織成了一個三叉的字符串排序樹,并且成立的時候也思量了樹的均衡性。文章后頭我講具體先容源碼的實現(xiàn)。

        首先我來或許的先容一下location的種類和匹配法則,以nginx wiki(http://wiki.nginx.org/HttpCoreModule#location)的例子做說明:

location = / {
 # matches the query / only.
 [ configuration A ]
}
location / {
 # matches any query, since all queries begin with /, but regular
 # expressions and any longer conventional blocks will be
 # matched first.
 [ configuration B ]
}
location ^~ /images/ {
 # matches any query beginning with /images/ and halts searching,
 # so regular expressions will not be checked.
 [ configuration C ]
}
location ~* \.(gif|jpg|jpeg)$ {
 # matches any request ending in gif, jpg, or jpeg. However, all
 # requests to the /images/ directory will be handled by
 # Configuration C.
 [ configuration D ]
}
location @named {
 # Such locations are not used during normal processing of requests,
 # they are intended only to process internally redirected requests (for example error_page, try_files).
 [ configuration E ]
}

        可以看到上面的例子中有5種差異范例的location,個中第4個帶 “~” 號前綴的為需要正則匹配的location,nginx在舉辦url理會時對這5種差異范例的location具有差異的優(yōu)先級法則,大抵的法則如下:

1,字符串準(zhǔn)確匹配到一個帶 “=” 號前綴的location,則遏制,且利用這個location的設(shè)置;

2,字符串匹配剩下的非正則和非非凡location,假如匹配到某個帶 "^~" 前綴的location,則遏制;

3,正則匹配,匹配順序為location在設(shè)置文件中呈現(xiàn)的順序。假如匹配到某個正則location,則遏制,并利用這個location的設(shè)置;不然,利用步調(diào)2中獲得的具有最大字符串匹配的location設(shè)置。

       譬喻,對下面的請求有:

1, /   ->   準(zhǔn)確匹配到第1個location,匹配遏制,利用configuration A
2,/some/other/url    ->  首先前綴部門字符串匹配到了第2個location,然后舉辦正則匹配,顯然沒有匹配上,則利用第2個location的設(shè)置configurationB
3,/images /1.jpg  ->  首先前綴部門字符串匹配到了第2個location,可是接著對第3個location也前綴匹配上了,并且這時已經(jīng)是設(shè)置文件內(nèi)里對這個url的最大字符串匹配了,而且location帶有 "^~" 前綴,則不再舉辦正則匹配,最終利用configuration C
4,/some/other/path/to/1.jpg  -> 首先前綴部門同樣字符串匹配到了第2個location,然后舉辦正則匹配,這時正則匹配樂成,則利用congifuration D

夢飛科技 - 全球數(shù)據(jù)中心基礎(chǔ)服務(wù)領(lǐng)先供應(yīng)商

Copyright © 2003-2019 MFISP.COM. 國外服務(wù)器租用 IDC公司 版權(quán)所有 ? 粵ICP備11019662號

主站蜘蛛池模板: 眉山市| 措勤县| 石屏县| 手机| 台山市| 景德镇市| 阳原县| 通河县| 禹城市| 宜州市| 惠水县| 普兰县| 高州市| 盱眙县| 珲春市| 桃园县| 梅州市| 玉树县| 漳平市| 巴彦县| 武威市| 岢岚县| 美姑县| 盘锦市| 梁河县| 山阳县| 哈尔滨市| 南城县| 宜章县| 扶风县| 太白县| 定安县| 桂平市| 仙游县| 长宁区| 洛川县| 镇江市| 油尖旺区| 舒兰市| 策勒县| 公安县|