nginx簡單配置負載均衡

2021-09-24 12:57:39 字數 1652 閱讀 6988

心血來潮,研究一下linux伺服器負載均衡的知識點。本來以為很簡單的乙個事情,不想還是研究了大半天的時間,想想還是記錄下來,以防萬一後面再遇到類似的坑。

先來簡單了解一下什麼是負載均衡,單從字面上的意思來理解就可以解釋n臺伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載均衡的前提就是要有多台伺服器才能實現,也就是兩台以上即可。

由於沒有自己用的測試伺服器,所以就裝了乙個虛擬機器(vmware),然後在虛擬機器中裝了兩台centos7。

測試用例a:192.168.0.150

測試用例b:192.168.0.151

對了,linux檢視本機ip命令:ifconfig

思路:將a作為主伺服器,本地hosts檔案中定義乙個網域名稱,我這裡用的網域名稱是151net.com。(這個自己隨意在本地定義就好)

在a伺服器中開啟nginx.conf檔案,在http塊內,server塊外面新增

upstream 151net  

server

}

儲存nginx.conf後重啟nginx服務。

注:a伺服器的80埠是用來繫結監聽訪問網域名稱的埠,所以在 upstream中我們使用了8088埠,如果你想吧a伺服器也用來做負載的乙個伺服器的話,下面還得加乙個server塊。

server 

location ~ \.php$

}

上面**就是表明你將a服務的埠8088繫結到了www目錄下的tp5專案中去了。到了a伺服器到這裡就結束了。

然後在b伺服器正常對nginx.conf進行配置就好了。

b伺服器的nginx.conf

server
ok,現在重啟乙個b伺服器的nginx服務,然後在本地伺服器開啟151net.com,多重新整理兩次,看看效果。大功告成。

除了上面這些簡單的配置之外,順便記錄一下關於nginx負載均衡策略:

雜湊法:根據獲取客戶端的ip位址,通過雜湊函式計算得到乙個數值,用該數值對伺服器列表的大小進行取模運算,得到的結果便是客服端要訪問伺服器的序號。採用源位址雜湊法進行負載均衡,同一ip位址的客戶端,當後端伺服器列表不變時,它每次都會對映到同一台後端伺服器進行訪問。

實際配置:ip_hash

將ip_hash新增到upstream塊的第一行即可。

輪詢法:將請求按順序輪流地分配到後端伺服器上,它均衡地對待後端的每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載。

就是開始預設的方式。

加權隨機法:與加權輪詢法一樣,加權隨機法也根據後端機器的配置,系統的負載分配不同的權重。不同的是,它是按照權重隨機請求後端伺服器,而非順序。

實際配置:weight=2

將weight=2放在ip位址之後(server 192.168.0.151:80  weight=2;)

weight後面的數值代表權重,數值越大,表示權重越高。

好了。今天的分享就是這樣子了,後面我會找時間再寫一下負載均衡時候關於session的相關問題。

nginx負載均衡簡單配置

nginx負載均衡簡單配置 準備三颱虛擬機器來做這個實驗 192.168.232.132 web伺服器 192.168.232.133 web伺服器 192.168.232.134 負載均衡伺服器 1 匯入外部軟體庫 plain view plain copy print rpm uvh rpm u...

nginx 負載均衡簡單配置

nginx有個特別好使的功能,就是負載均衡。可以保證後台服務的穩定發布,而不會出現發布過程中會出現的502。配置起來也很簡單。1.多個後端服務。我這裡有三個後端tomcat,提供了簡單的資料返回 2.nginx.conf配置 這裡為了不干擾原有的配置,我單獨寫了乙個檔案,blog.conf blog...

nginx負載均衡簡單配置

nginx負載均衡簡單配置 準備三颱虛擬機器來做這個實驗 192.168.232.132 web伺服器 192.168.232.133 web伺服器 192.168.232.134 負載均衡伺服器 1 匯入外部軟體庫 plain view plain copy print rpm uvh rpm u...