nginx的配置方式

2022-06-27 12:36:07 字數 3415 閱讀 5896

upstream servers.com

location /

location [=|~|~*|^~] /uri/

= 開頭表示精確匹配

^~ 開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可。nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格)。

~ 開頭表示區分大小寫的正則匹配

~*  開頭表示不區分大小寫的正則匹配

!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配 的正則

/ 通用匹配,任何請求都會匹配到。

這裡注意 / 要用root

其他的匹配要用alias,否則訪問其他匹配會出現404

例項:

1. 訪問根目錄/,比如http://

localhost/將匹配規則a

2. 訪問 http://

localhost/login 將匹配規則b,

則匹配規則h

3. 訪問 http://

localhost/static/a.html 將匹配規則c

4. 訪問 http://

將匹配規則d和規則e,但是規則d順序優先,規則e不起作用,而http:

//localhost/static/c.png則優先匹配到規則c

5. 訪問 http://

localhost/a.png 則匹配規則e,而不會匹配規則d,因為規則e不區分大小寫。

6. 訪問 http://

localhost/a.xhtml 不會匹配規則f和規則g,

不會匹配規則g,因為不區分大小寫。規則f,規則g屬於排除法,符合匹配規則但是不會匹配到,所以想想看實際應用中**會用到。

7. 訪問 http://

localhost/category/id/1111 則最終匹配到規則h,因為以上規則都不匹配,這個時候應該是nginx**請求給後端應用伺服器,比如fastcgi(php),tomcat(jsp),nginx作為方向**伺服器存在。

upstream中server指令語法如下:

server address [parameters]

關鍵字server必選。

address也必選,可以是主機名、網域名稱、ip或unix socket,也可以指定埠號。

parameters是可選引數,可以是如下引數:

down:表示當前server已停用

backup:表示當前server是備用伺服器,只有其它非backup後端伺服器都掛掉了或者很忙才會分配到請求。

輪詢是upstream的預設分配方式,即每個請求按照時間順序輪流分配到不同的後端伺服器,如果某個後端伺服器down掉後,能自動剔除。

upstream backend

輪詢的加強版,即可以指定輪詢比率,weight和訪問機率成正比,主要應用於後端伺服器異質的場景下。

upstream backend

weight:表示當前server負載權重,權重越大被請求機率越大。預設是1.

每個請求按照訪問ip(即nginx的前置伺服器或者客戶端ip)的hash結果分配,這樣每個訪客會固定訪問乙個後端伺服器,可以解決session一致問題。

upstream backend

fair顧名思義,公平地按照後端伺服器的響應時間(rt)來分配請求,響應時間短即rt小的後端伺服器優先分配請求。

upstream backend

與ip_hash類似,但是按照訪問url的hash結果來分配請求,使得每個url定向到同乙個後端伺服器,主要應用於後端伺服器為快取時的場景下。

upstream backend

upstream中server指令語法如下:        server address [parameters]        關鍵字server必選。        address也必選,可以是主機名、網域名稱、ip或unix socket,也可以指定埠號。        parameters是可選引數,可以是如下引數:        down:表示當前server已停用        backup:表示當前server是備用伺服器,只有其它非backup後端伺服器都掛掉了或者很忙才會分配到請求。

1.隨便找個地方放靜態頁面和位址

mkdir home

2.nginx配置

}關於root和index的解釋:

我們換個例子 比如下面的配置

server 

location ~\.php$

}

上面的例子中,如果你使用lhw或lhw888直接發起請求,那麼首先會訪問到「/」location,結合rootindex指令,會先判斷/data/aaa/index.html是否存在,如果不,則接著檢視/data/aaa/index.php,如果存在,則使用/index.php發起內部重定向,就像從客戶端再一次發起請求一樣,nginx會再一次搜尋location,毫無疑問匹配到第二個~ \.php$,從而訪問到/data/bbb/test/index.php

再nginx的sbin目錄下  執行./nginx -t 可以檢視配置是否正確

Nginx 四種配置方式

upstream 支援4種負載均衡排程演算法 a 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器 b ip hash 每個請求按訪問ip的hash結果分配,同乙個ip客戶端固定訪問乙個後端伺服器。可以保證來自同一ip的請求被打到固定的機器上,可以解決session問題。c url hash...

nginx 負載均衡5種配置方式

nginx 負載均衡5種配置方式 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。例如 upstream bakend 3 ip hash 每個請求按訪問i...

nginx 負載均衡5種配置方式

nginx 負載均衡5種配置方式 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。2 weight 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。例如 upstream bakend 3 ip hash 每個請求按訪問i...