最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nginx的location的常見(jiàn)規(guī)則優(yōu)先級(jí)問(wèn)題

 更新時(shí)間:2021年08月11日 10:51:01   作者:阿蔡BLOG  
Nginx是反向代理和負(fù)載均衡的首選工具,nginx的location配置有許多細(xì)節(jié)內(nèi)容在網(wǎng)上不容易找到資料,或者解釋不清。本文對(duì)Nginx location規(guī)則優(yōu)先級(jí)介紹,需要的朋友參考下吧

locaiton有四種類型的匹配規(guī)則,分別為完全匹配(=)、前綴普通匹配(^~)、正則表達(dá)式匹配(~或者~*)、普通匹配

規(guī)則

  • 等號(hào)類型(=)的優(yōu)先級(jí)最高。一旦匹配成功,則不再查找其他匹配項(xiàng)
  • 前綴普通匹配(^~)優(yōu)先級(jí)次之。不支持正則表達(dá)式。使用前綴匹配,如果有多個(gè)location匹配的話,則使用表達(dá)式最長(zhǎng)的那個(gè)
  • 正則表達(dá)式類型(~ ~*)的優(yōu)先級(jí)次之。一旦匹配成功,則不再查找其他匹配項(xiàng)
  • 常規(guī)字符串匹配,如果有多個(gè)location匹配的話,則使用表達(dá)式最長(zhǎng)的那個(gè)

說(shuō)明

  • 先判斷精準(zhǔn)命中,如果命中,立即返回結(jié)果并結(jié)束解析過(guò)程
  • 若未結(jié)束,判斷前綴普通命中,如果有多個(gè)命中,使用表達(dá)式“最長(zhǎng)”的命中結(jié)果,結(jié)束解析過(guò)程
  • 若未結(jié)束,繼續(xù)判斷正則表達(dá)式的匹配,按正則表達(dá)式順序?yàn)闇?zhǔn),由上至下一旦匹配成功1個(gè),立即返回結(jié)果,并結(jié)束解析過(guò)程
  • 若未結(jié)束,繼續(xù)普通命中,普通命中和前綴普通命中相似,順序無(wú)所謂,按照l(shuí)ocation表達(dá)式的長(zhǎng)短來(lái)確定命中結(jié)果

Location,用來(lái)快速進(jìn)行資源定位,定義不同方式來(lái)處理或解決url請(qǐng)求,一般有:/ , = /, ~, ~* ,^~
優(yōu)先級(jí)是:(location = /)>(localtion^~)>(location ~| ~* )>(location /)
其中,~ 與 ~*,誰(shuí)在上面先匹配誰(shuí).

一、Location / 匹配

# "/" 是直接到nginx發(fā)布目錄/usr/local/nginx/html/里來(lái)查資源,比如location.html
location / {
        root   html;
        index  index.html index.htm;
    }

在發(fā)布目錄里創(chuàng)建location.html文件,內(nèi)容為:this is location.html。
執(zhí)行172.16.0.9/location.html時(shí),服務(wù)器發(fā)布目錄里找這個(gè)location.html文件,并把結(jié)果this is loction.html返回出來(lái),如下:

root@backupserver:/usr/local/nginx/html# ls
50x.html  index.html
root@backupserver:/usr/local/nginx/html# echo "this is  location.html" > ./location.html
root@backupserver:/usr/local/nginx/html# ls
50x.html  index.html  location.html
root@backupserver:/usr/local/nginx/html# /usr/local/nginx/sbin/nginx -s reload
root@backupserver:/usr/local/nginx/html# curl 172.16.0.9/location.html
this is  location.html
root@backupserver:/usr/local/nginx/html# 

在這里插入圖片描述

二、Location = / 匹配

精準(zhǔn)定位 一般用來(lái)匹配某個(gè)文件,優(yōu)先級(jí)高于 /
比如:
在nginx配置文件中增加一個(gè)location = / ,定位到/data目錄。如下:

server {
        listen       80;
        server_name  localhost;
        #charset koi8-r;
        #access_log  logs/host.access.log  main;
        location / {
            autoindex on;
            root   html;
            index  index.html index.htm;
        }
        location = /location.html {
            root /data/;
            index index.html;
        }

重啟Nginx服務(wù),測(cè)試:
1、先不在/data/目錄創(chuàng)建location.html。
可以看到,報(bào)404錯(cuò)誤。這是因?yàn)椋? / 優(yōu)先級(jí)高于/ ,服務(wù)器去第二個(gè)location里尋找location.html這個(gè)文件,而不是去第一個(gè)location里找。由于第二個(gè)location指定的目錄是/data,/data目錄下沒(méi)有l(wèi)ocation.html文件

在這里插入圖片描述

在/data目錄下創(chuàng)建location.html文件

root@backupserver:/usr/local/nginx/html# ls /data/
www
root@backupserver:/usr/local/nginx/html# echo "this is  other location.com" > /data/location.html
root@backupserver:/usr/local/nginx/html# ls
50x.html  index.html  location.html
root@backupserver:/usr/local/nginx/html# curl 172.16.0.9/location.html
this is  other location.com
root@backupserver:/usr/local/nginx/html#

在這里插入圖片描述

上面可以看到,訪問(wèn) 服務(wù)器是,服務(wù)器首先去location = /里面找,即使它在另一個(gè)location下面。精準(zhǔn)匹配優(yōu)先級(jí)是最高的,它不論是在配置文件內(nèi)容上面還是下面,服務(wù)器首先去找精準(zhǔn)匹配的內(nèi)容

除以精準(zhǔn)匹配,還有~ ,~* ,^~
~是對(duì)大小寫敏感,匹配時(shí)嚴(yán)格大小寫
~* 是對(duì)大小寫不敏感,匹配時(shí)不分大小寫。
^~用來(lái)匹配以u(píng)ri開(kāi)頭,匹配成功以后,會(huì)停止搜索后面的正則表達(dá)式匹配。
以上優(yōu)先最高的是精準(zhǔn)匹配。location = /,其次是:^,然后是 和~* 這兩種看準(zhǔn)在配置文件內(nèi)容上面,就先匹配誰(shuí),優(yōu)先級(jí)最低的是 /

以上規(guī)則在使用nginx時(shí)會(huì)被廣泛使用,比如多臺(tái)服務(wù)器做網(wǎng)站動(dòng)靜分離時(shí):

location ~ .*\.(html|htm|js|css|txt|png|jpg|jpeg|doc)$ {
root html;
}

到此這篇關(guān)于Nginx的location的常見(jiàn)規(guī)則優(yōu)先級(jí)的文章就介紹到這了,更多相關(guān)Nginx location規(guī)則優(yōu)先級(jí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Nginx 應(yīng)用范圍和使用詳解

    Nginx 應(yīng)用范圍和使用詳解

    這篇文章主要介紹了Nginx 應(yīng)用范圍和使用詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • Python的Bottle框架基本知識(shí)總結(jié)

    Python的Bottle框架基本知識(shí)總結(jié)

    這篇文章主要介紹了Python的Bottle框架基本知識(shí)總結(jié),本文翻譯自Bottle官方開(kāi)發(fā)文檔,需要的朋友可以參考下
    2015-05-05
  • Linux配置nginx腳本的操作方法

    Linux配置nginx腳本的操作方法

    正常來(lái)說(shuō),配置nginx相對(duì)來(lái)說(shuō)比較麻煩,這里寫一個(gè)sh腳本,可以之間完成相關(guān)的操作,其中包括,換 nginx的源,加載nginx前置的依賴,同樣包含nginx的conf文件配置,這篇文章主要介紹了Linux配置nginx腳本的操作方法,需要的朋友可以參考下
    2024-05-05
  • Nginx配置使用詳解

    Nginx配置使用詳解

    Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器。本文詳細(xì)講解了Nginx配置使用的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • Nginx七層及四層反向代理配置的全過(guò)程

    Nginx七層及四層反向代理配置的全過(guò)程

    反向代理是以代理服務(wù)器來(lái)接受internet連接請(qǐng)求,然后再把請(qǐng)求轉(zhuǎn)發(fā)給另外的服務(wù)器,下面這篇文章主要給大家介紹了關(guān)于Nginx七層及四層反向代理配置的相關(guān)資料,需要的朋友可以參考下
    2022-03-03
  • 為Nginx自定義404,502錯(cuò)誤頁(yè)面的方法

    為Nginx自定義404,502錯(cuò)誤頁(yè)面的方法

    為Nginx自定義404,502錯(cuò)誤頁(yè)面的方法,需要的朋友可以參考下。
    2010-12-12
  • nginx控制連接數(shù)及訪問(wèn)速率的實(shí)現(xiàn)

    nginx控制連接數(shù)及訪問(wèn)速率的實(shí)現(xiàn)

    本文主要介紹了Nginx中ngx_http_limit_conn_module和ngx_http_limit_req_module模塊的使用,用于控制連接數(shù)和請(qǐng)求速率,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-12-12
  • nginx地址重定向的方法

    nginx地址重定向的方法

    這篇文章主要介紹了nginx地址重定向的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • Nginx鑒權(quán)、限流問(wèn)題

    Nginx鑒權(quán)、限流問(wèn)題

    這篇文章主要介紹了Nginx鑒權(quán)、限流問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • nginx location 配置 正則表達(dá)式實(shí)例詳解

    nginx location 配置 正則表達(dá)式實(shí)例詳解

    本文通過(guò)實(shí)例代碼給大家介紹了nginx location 配置 正則表達(dá)式的問(wèn)題,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-07-07

最新評(píng)論

五家渠市| 桐庐县| 南木林县| 延川县| 洛浦县| 广水市| 公主岭市| 赫章县| 临武县| 恩施市| 佛冈县| 桦川县| 胶州市| 遂川县| 寿宁县| 泰安市| 绵竹市| 体育| 上思县| 衡水市| 开封县| 炉霍县| 扶绥县| 榆中县| 盐源县| 鹤山市| 麻江县| 安庆市| 普格县| 方正县| 海原县| 榆社县| 黄梅县| 隆安县| 兖州市| 娄烦县| 吴川市| 天气| 麻栗坡县| 濮阳县| 怀远县|