欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx Location配置全過(guò)程

 更新時(shí)間:2025年07月16日 16:36:49   作者:Nick說(shuō)說(shuō)前后端  
介紹了Nginx的Location語(yǔ)法結(jié)構(gòu),涵蓋標(biāo)準(zhǔn)/正則uri匹配、匹配標(biāo)識(shí)優(yōu)先級(jí)(精確>正則>通用),root與alias指令的區(qū)別(保留/替換前綴),以及通過(guò)錯(cuò)誤日志調(diào)試Location配置的方法

一、Location語(yǔ)法結(jié)構(gòu)

1、語(yǔ)法結(jié)構(gòu)說(shuō)明

在Nginx官方文檔中定義的location語(yǔ)法結(jié)構(gòu)為:

location [ = | ~ | ~* | ^~ ] uri { ... }

其中uri變量是待匹配的請(qǐng)求字符串,可以是不包含有正則表達(dá)式的字符串,稱(chēng)之為標(biāo)準(zhǔn)uri,也可以是包含正則表達(dá)式的字符串,稱(chēng)之為正則uri。方括號(hào)里的部分為可選項(xiàng),我們稱(chēng)之為匹配標(biāo)識(shí)。

當(dāng)不添加匹配標(biāo)識(shí)時(shí),Nginx服務(wù)器首先在server塊的各個(gè)location塊中搜索是否有標(biāo)準(zhǔn)uri和請(qǐng)求字符串匹配,如果有多個(gè)可以匹配,就記錄匹配度最高的一個(gè)。

然后,服務(wù)器再用location塊中的正則uri和請(qǐng)求字符串匹配,如果第一個(gè)正則uri匹配成功,結(jié)束搜索,并使用該location塊處理請(qǐng)求。如果所有正則匹配全部失敗,則用標(biāo)準(zhǔn)uri匹配到的匹配度最高的location塊進(jìn)行處理。

2、各個(gè)標(biāo)識(shí)的含義和優(yōu)先級(jí)

  • = 表示精確匹配,這個(gè)優(yōu)先級(jí)也是最高的。
  • ^~ 表示 uri 以某個(gè)常規(guī)字符串開(kāi)頭,理解為匹配 url 路徑即可。nginx 不對(duì) url 做編碼,因此請(qǐng)求為
    /static/20%/aa,可以被規(guī)則^~ /static/ /aa 匹配到(注意是空格)。
  • ~ 表示區(qū)分大小寫(xiě)的正則匹配。
  • ~* 表示不區(qū)分大小寫(xiě)的正則匹配。
  • !~!~*分別為區(qū)分大小寫(xiě)不匹配及不區(qū)分大小寫(xiě)不匹配的正則匹配。
  • / 通用匹配,任何請(qǐng)求都會(huì)匹配到,默認(rèn)匹配。

優(yōu)先級(jí):精確匹配 > 正則匹配 > 通用匹配

3、配置請(qǐng)求的根目錄

Web服務(wù)器接收到網(wǎng)絡(luò)請(qǐng)求后,首先要在服務(wù)器端指定目錄中尋找請(qǐng)求資源。在Nginx服務(wù)器中,root用來(lái)配置資源的根目錄,如下:

location /images {
	root /nginx/images;
}

備注:當(dāng)訪問(wèn)/images/1.jpg時(shí),Nginx會(huì)在服務(wù)器上尋找路徑為/nginx/images/images/1.jpeg的文件。

4、替換請(qǐng)求的uri

通過(guò)root指令我們可以指定資源訪問(wèn)的根目錄,但是我們會(huì)發(fā)現(xiàn)訪問(wèn)的uri會(huì)附加到指定的文件目錄下。通過(guò)alias指定,我們可以在訪問(wèn)服務(wù)器上資源時(shí)不保留訪問(wèn)前綴,如下:

location /images {
	alias /nginx/images;
}

備注:當(dāng)訪問(wèn)/images/1.jpg時(shí),Nginx會(huì)在服務(wù)器上尋找路徑為/nginx/images/1.jpeg的文件。

二、Location具體示例

1、精確匹配

location = /50x.html {
	root /nginx/html;
}

備注:當(dāng)訪問(wèn)/50x.html時(shí),Nginx會(huì)在服務(wù)器上尋找路徑為/nginx/html/50x.html的文件。

2、正則匹配

location ~* ^/images/(.+\.(png|jpg|jpeg|gif))$ {
   alias  /nginx/images/$1;
}

備注:當(dāng)訪問(wèn)/images/1.JPEG時(shí),Nginx會(huì)在服務(wù)器上尋找路徑為/nginx/images/1.jpeg的文件,并且訪問(wèn)路徑不區(qū)分大小寫(xiě)。

3、常規(guī)字符串匹配

location ~^ /static//(.+\.(html|htm)){
	alias /nginx/html/$1
}

備注:當(dāng)訪問(wèn)/static/%20/index.html時(shí),Nginx會(huì)在服務(wù)器上尋找路徑為/nginx/html/1.html的文件。

三、調(diào)試Location的小技巧

一般如果文件訪問(wèn)失敗,在錯(cuò)誤日志里能看到錯(cuò)誤日志提示,如下:

2024/05/11 15:15:28 [error] 16746#0: *125484 open() "/nginx/images/jpeg" failed (2: No such file or directory), client: 113.116.81.20, server: xxx.com, request: "GET /images/1.jpeg HTTP/1.1", host: "xxx.com"

錯(cuò)誤日志的默認(rèn)配置為:error_log logs/error.log error,也就是在logs/error.log文件中能看到相關(guān)錯(cuò)誤提示,通過(guò)提示我們?cè)龠M(jìn)行配置的調(diào)整。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Django+Nginx+uwsgi服務(wù)器部署

    Django+Nginx+uwsgi服務(wù)器部署

    這篇文章介紹了Django+Nginx+uwsgi服務(wù)器部署的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟

    使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)的詳細(xì)步驟

    這篇文章主要介紹了使用?nginx?搭建代理服務(wù)器(正向代理?https?網(wǎng)站)指南的相關(guān)操作,本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2024-08-08
  • nginx實(shí)現(xiàn)IP地址透?jìng)鞯氖纠a

    nginx實(shí)現(xiàn)IP地址透?jìng)鞯氖纠a

    默認(rèn)后端服務(wù)器只能看到是前端nginx調(diào)度器訪問(wèn)的本機(jī),本文主要介紹了nginx實(shí)現(xiàn)IP地址透?jìng)鞯氖纠a,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • Nginx中配置開(kāi)啟Nginx Status來(lái)查看服務(wù)器運(yùn)行狀態(tài)

    Nginx中配置開(kāi)啟Nginx Status來(lái)查看服務(wù)器運(yùn)行狀態(tài)

    這篇文章主要介紹了Nginx中配置開(kāi)啟Nginx Status來(lái)查看服務(wù)器運(yùn)行狀態(tài)的方法,Nginx Status為Nginx服務(wù)器內(nèi)置的狀態(tài)頁(yè),需要的朋友可以參考下
    2016-01-01
  • nginx+lua+redis實(shí)現(xiàn)降級(jí)的示例代碼

    nginx+lua+redis實(shí)現(xiàn)降級(jí)的示例代碼

    隨著用戶訪問(wèn)量的激增,網(wǎng)站或電商平臺(tái)可能會(huì)面臨系統(tǒng)超負(fù)載的問(wèn)題,導(dǎo)致注冊(cè)、下單、支付等功能出現(xiàn)問(wèn)題,為保障核心服務(wù)的高可用性,可以采用降級(jí)策略,本文就來(lái)介紹一下nginx+lua+redis降級(jí),感興趣的可以了解學(xué)習(xí)
    2024-10-10
  • Nginx的nginx.conf配置文件中文注釋說(shuō)明

    Nginx的nginx.conf配置文件中文注釋說(shuō)明

    這篇文章主要介紹了Nginx的nginx.conf配置文件中文注釋說(shuō)明,本文是個(gè)人注釋版,在生產(chǎn)環(huán)境中經(jīng)常使用,需要的朋友可以參考下
    2014-12-12
  • Nginx 獲取客戶端真實(shí)IP $remote_addr與X-Forwarded-For的實(shí)現(xiàn)

    Nginx 獲取客戶端真實(shí)IP $remote_addr與X-Forwarded-For的實(shí)現(xiàn)

    我們大多數(shù)情況下訪問(wèn)服務(wù)時(shí),客戶端并不是直接訪問(wèn)到服務(wù)器的,本文主要介紹了Nginx 獲取客戶端真實(shí)IP $remote_addr與X-Forwarded-For的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例

    Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例

    這篇文章主要介紹了Nginx域名轉(zhuǎn)發(fā)使用場(chǎng)景代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • nginx配置安裝免費(fèi)證書(shū)的方法步驟

    nginx配置安裝免費(fèi)證書(shū)的方法步驟

    HTTPS可以有效的防止數(shù)據(jù)被竊聽(tīng)和篡改,本文主要介紹了nginx配置安裝免費(fèi)證書(shū)的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable)

    nginx connect() to unix:/var/run/php-fpm.sock failed (11: Re

    這篇文章主要介紹了nginx connect() to unix:/var/run/php-fpm.sock failed (11: Resource temporarily unavailable),需要的朋友可以參考下
    2015-01-01

最新評(píng)論