Nginx如何處理乙個請求

2021-09-08 17:13:54 字數 787 閱讀 1366

看了下nginx的官方文件,其中nginx如何處理乙個請求講解的很好,現在貼出來分享下。nginx首先選定由哪乙個虛擬主機來處理請求。讓我們從乙個簡單的配置(其中全部3個虛擬主機都在埠*:80上監聽)開始:

1

server 67

server

1213

server

在這個配置中,nginx僅僅檢查請求的「host」頭以決定該請求應由哪個虛擬主機來處理。如果host頭沒有匹配任意乙個虛擬主機,或者請求中根本沒有包含host頭,那nginx會將請求分發到定義在此埠上的預設虛擬主機。在以上配置中,第乙個被列出的虛擬主機即nginx的預設虛擬主機——這是nginx的預設行為。而且,可以顯式地設定某個主機為預設虛擬主機,即在"listen"指令中設定"default_server"引數:

1

server

server 

server

server

這個配置中,nginx首先測試請求的ip位址和埠是否匹配某個server配置塊中的listen指令配置。接著nginx繼續測試請求的host頭是否匹配這個server塊中的某個server_name的值。如果主機名沒有找到,nginx將把這個請求交給預設虛擬主機處理。例如,乙個從192.168.1.1:80埠收到的訪問www.example.com的請求將被監聽192.168.1.1:80埠的預設虛擬主機處理,本例中就是第乙個伺服器,因為這個埠上沒有定義名為www.example.com的虛擬主機。

Nginx如何處理乙個請求

基於名字的虛擬主機 nginx首先選定由哪乙個虛擬主機來處理請求。讓我們從乙個簡單的配置 其中全部3個虛擬主機都在埠 80上監聽 開始 server server server 在這個配置中,nginx僅僅檢查請求的 host 頭以決定該請求應由哪個虛擬主機來處理。如果host頭沒有匹配任意乙個虛擬...

nginx如何處理乙個請求

nginx收到請求時第一步是決定由哪個伺服器來處理。以乙個配置了三個虛擬伺服器的例子為例,三個虛擬伺服器軍監聽80埠。server server server根據以上配置,nginx只對請求的 host 頭域檢查,並根據其值決定將請求路由給哪個伺服器。如果和任何乙個伺服器都不匹配,或者請求不包含乙個...

Nginx如何處理乙個請求

nginx是什麼?nginx是俄羅斯人編寫的十分輕量級的http伺服器,nginx,它的發音為 engine x 是乙個高效能的http和反向 伺服器,同時也是乙個imap pop3 smtp 伺服器 nginx是由俄羅斯人 sysoev為俄羅斯訪問量第二的 rambler.ru站點開發的,它已經在...