Nginx是做什麼的?如何配置負載均衡?

2021-10-10 08:34:16 字數 1498 閱讀 6266

什麼是ngnix?

為什麼要配置nginx的負載均衡?

負載均衡是nginx常用的乙個功能,當一台伺服器的單位時間內的訪問量越大時,伺服器壓力就越大,大到超過自身承受能力時,伺服器就會崩潰。為了避免伺服器崩潰,讓使用者有更好的體驗,我們通過負載均衡的方式來負擔伺服器壓力。我們可以建立很多很多伺服器,組成乙個伺服器集群,當使用者訪問**時,先訪問乙個中間伺服器,再讓這個中間伺服器在伺服器集群中選擇乙個壓力較小的伺服器,然後將該訪問請求引入該伺服器。這樣,使用者的每次訪問,都會保證伺服器集群中的每個伺服器壓力趨於平衡,分擔了伺服器壓力,避免了伺服器崩潰的情況。負載均衡配置一般都需要同時配置反向**,通過反向**跳轉到負載均衡。

nginx反向**:

反向**(reverse proxy)方式是指以**伺服器外網方式來接受internet上的連線請求,然後將請求**給內網的伺服器(tomcat),並將從伺服器上得到的結果返回給internet上請求連線的客戶端,此時**伺服器對外表現就表現為乙個反向**伺服器。

舉個例子,如果想要在本地通過訪問www.123.com跳轉到本地專案localhost:8080/index,則這樣配置

server 

}

nginx的負載均衡策略:

1、輪詢(預設):

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器宕機,能自動剔除。如有兩台tomcat,tomcat1和tomcat2,那麼先訪問tomcat1,再訪問tomcat2,再訪問tomcat1,再訪問tomcat2...如此迴圈。適用場景:當兩台伺服器配置相近的情況,否則對於配置低的伺服器是效能瓶頸。

upstream backserver
2、指定權重:

指定輪詢機率,使用weight關鍵字,weight和訪問比率成正比,適用於後端伺服器效能不均衡的情況。

upstream backserver
按比例進行分配 10.211.55.1訪問1次,10.211.55.2訪問兩次。

3、ip繫結ip_hash(不建議):

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。

upstream backserver
4、第三方(了解):

按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

upstream backserver
伺服器宕機輪詢配置規則:

假設tomcat集群中,有一台伺服器掛了,而nginx剛好選擇了這台伺服器,那麼會一直請求,這時,我們可以通過輪詢配置來解決這個問題

server 

}

加入最後三行**,在訪問某伺服器1秒內無響應的話,自動輪詢下一台伺服器。

lipo 是做什麼的

lipo create release iphoneos libiphone.a debig iphonesimulator libiphone.a output libiphone.a 看到這樣的命令列,你會怎樣理解呢。很簡單,我將模擬器和裝置的靜態庫檔案合併成乙個檔案輸出了,以後在發布可以庫的時...

他是做什麼的?

他是做什麼的?楓華網路從默默無聞到現在這樣默默地火了。我每天都在瘋狂地為客戶建立著檔案,安排課程培訓時間,協助新客戶付款。客戶都自覺自願地在這裡預約,排隊,毫無怨言。我顧不上整理客戶案例,顧不上寫成我的心聲,顧不上出門旅遊。太多的時候,我想登高而呼,可是單子紛沓而至,我顧不上。今天,這個風和日麗的週...

eval 是做什麼的?

把字串引數解析成js 並執行,並返回執行的結果 例如 1 eval 2 3 執行加運算,並返回運算值。2 eval varage 10 宣告乙個age變數 例如1 functiona a console.log x 輸出1 應該避免使用eval,不安全,非常耗效能 2次,一次解析成js語句,一次執行...