心血來潮,研究一下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...