nginx負載均衡及配置

2022-09-08 11:45:13 字數 2697 閱讀 9380

實現伺服器集群主要就是為了負載均衡(load balance)——有兩台或者以上的伺服器或者站點提供服務,服務將來自客戶端的請求,靠某種演算法,去盡量平分請求到集群的機器中,從而避免一台伺服器因為負載太高而出現故障,而即使其中某個機器出現故障,負載均衡會自動規避選擇,使得使用者也能正常訪問服務。

好處:減輕後端伺服器的壓力,提高靜態資源訪問速度

負載均衡的例子

前面有1000個妞等著你來泡,這1000個妞等久了有可能不耐煩,就會走了不讓你泡了。你要想同時泡1000個妞,那你就得有分身的能力才行。

只要有了分身的能力,你就再也不用擔心妞泡不過來了。

結論得出:負載均衡==分身的能力

你的分身把這個妞泡準了,你這個分身就要跟她一直談下去,其他的妞過來了你肯定要拒絕丫。

你沒泡成功,當然是去尋找下乙個目標。

結論得出:負載均衡還得保持通話

你的分身也偶爾發發小脾氣,沒激情來泡妞的時候,你就要去修理他,去找他聊聊心。

結論得出:負載均衡還要懂得修理他(t出泡妞隊營)

尼瑪負載均衡就為了泡妞,我們果斷一起踩扁它。

負載均衡現在市場上面已經有很多成熟的硬體裝置,可以掏點錢就可以買了。當然這費用嘛......

如果你閒費用貴,自己瞎折騰也好,來體現你的技術是多麼牛xx, 你就用一台伺服器,伺服器裡面裝個nginx就可以解決了。

尼瑪負載均衡就這麼簡單,我們繼續一起踩扁它。

要說道每個分身的能力如何複製過去,就如每一台電腦要泡妞怎麼辦,是不是要具有相同的**。怎麼辦?

1. 共享主人的經驗

2. 把主人的經驗複製過來

3. 邊複製邊共享

轉成計算機就是說:

1. 檔案共享

2. 檔案同步

3. 分布式檔案系統

他們都有各自的優缺點,選擇適合自己的就行。

首先我們來回顧下上篇的概念:負載均衡 ==分身的能力。

既然要有分身的能力嘛,這好辦,多弄幾台伺服器就搞定了。

今天我們講的例項嘛…..我們還是先看圖比較好:

還是圖比較清晰,以下我都用別名稱呼:

vm1 : 負載均衡伺服器/web入口伺服器/www.test.com
vm2 : web伺服器/分身1/192.168.1.121
vm3 : web伺服器/分身2/192.168.1.124
ps:首先我們學這個的開始之前吧,不懂防火牆的童鞋們,建議你們把伺服器的防火牆關閉,盡量不要引起不必要的麻煩。

首先 :伺服器都要安裝nginx,不會安裝的可以去官網檢視教程: (中文版教程、非常的牛x)

1.裝完之後哈,我們先找到 vm1的nginx.conf配置檔案:

在http段加入以下**:

upstream servers.test.com
當然嘛,這servers.test.com隨便取的。

那麼vm1的server配置如下:

在http段加入以下**:

server
}
那麼vm2

、vm3

的配置如下:

server
2.有人就問了,我用其它埠行不行啊,當然也是可以的,假設vm1的nginx.conf配置檔案:

upstream servers2.test.com
server
}

那麼vm2的配置如下:

server
vm3

配置:

server

重啟之後,我們訪問下,恩不錯,確實很厲害。

當我們把一台伺服器給關閉了後。

訪問**,還是

ok的。說明:負載均衡還要懂得修理他(t出泡妞隊營)

3.那麼負載均衡如何保持通話呢?

當然現在有好幾種方案,

1、輪詢(預設)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

2、weight

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

例如:upstream bakend

3、ip_hash

每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問乙個後端伺服器,

優點:能較好地把同乙個客戶端的多次請求分配到同一臺伺服器處理,避免了加權輪詢無法適用會話保持的需求。

缺點:當某個時刻來自某個

ip位址的請求特別多,那麼將導致某台後端伺服器的壓力可能非常大,而其他後端伺服器卻空閒的不均衡情況。

例如:upstream resinserver

4、fair(第三方)

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

upstream resinserver

nginx安裝及負載均衡配置

nginx engine x 是乙個高效能的 http 和 反向 伺服器,也是乙個 imap pop3 smtp 伺服器。nginx 是由 igor sysoev 為俄羅斯訪問量第二的 rambler.ru 站點開發的,第乙個公開版本0.1.0發布於2004年10月4日。其將源 以類bsd許可證的形...

nginx負載均衡配置及測試

the remote server ip is the nginx server ip is 2 啟動兩個tomcat,進行訪問測試 宿主機中的 http localhost 8080 test.jsp ubuntu14.04中的 http localhost 8080 test.jsp 3 在ng...

nginx負載均衡配置

curl nginx upstream fair.zip unzip nginx upstream fair.zip cd nginx 1.6.2 檢視當前nginx 編譯引數 nginx v 輸出 configure arguments prefix usr local nginx configu...