Nginx學習之路 負載均衡配置實戰

2021-10-24 09:09:51 字數 2428 閱讀 7134

nginx伺服器可以拿來做反向**的操作,說白了就是路由**,關於這個之前寫了兩篇部落格,感興趣可以去看一下。但是今天要介紹下nginx的負載均衡。

測試隨著網際網路資訊的**性增長,負載均衡(load balance)已經不再是乙個很陌生的話題。

顧名思義,負載均衡即是將負載分攤到不同的服務單元,既保證服務的可用性,又保證響應足夠快,給使用者很好的體驗。

快速增長的訪問量和資料流量催生了各式各樣的負載均衡產品,很多專業的負載均衡硬體提供了很好的功能,但卻**不菲,這使得負載均衡軟體大受歡迎,nginx 就是其中的乙個。

接下來進入到具體配置的實戰環節。首先需要先看看我們要實現的效果,在瀏覽器輸入www.mylinux.cn/edu/demo.html之後,可以負載到後端不同的服務單元,示例圖:

這裡的www.mylinux.cn網域名稱是對映我虛擬機器的ip位址,網域名稱可以隨意配置。瀏覽器發起請求之後,由於nginx伺服器監聽的是80埠,所以請求會先來到nginx伺服器。然後通過我們對其的負載均衡策略配置,來決定將請求**到哪乙個具體的服務單元(8080或8081)。最後再將每個服務單元準備好的頁面返回給瀏覽器。

大致流程圖:

這裡說一下,不一定要求tomcat伺服器,其他的web容器也可,這篇部落格拿tomcat舉例。

準備好nginx伺服器

略準備兩台tomcat伺服器,修改埠

因為tomcat預設埠是8080,兩台一塊開就會造成衝突,所以需要拿出一台來修改。

進入到其中一台的目錄中,去conf/server.xml中進行修改,分別修改三個位置(原埠8005、8080、8009):

準備頁面

這一步是因為我們要測試負載均衡的效果,需要知道目前是哪乙個服務單元為我們提供服務,所以每乙個服務單元要準備不同的頁面。

vim demo.html
直接編寫頁面:

同理埠號8081的tomcat也是一樣,不過文字內容記得換成port:8081。

修改nginx配置檔案

進入到nginx目錄中,然後執行:

vim conf/nginx.conf
具體修改如下,在http塊下新增:

upstream demoserver
這一步可以這麼理解,給8080和8081兩個埠的服務單元起了共同的名字demoserver

然後在server塊裡面的location中作出修改:

就是新增了路由**,只不過不是具體的ip位址了,而是咱們剛剛起的名字。

配置網域名稱對映

這裡在你的主系統(注意不是虛擬機器)裡找到hosts檔案,然後加上:

開放防火牆埠

這次demo共涉及三個埠,80、8080、8081,如果不去管它,預設是訪問不到的。所以需要開放這些埠:

firewall-cmd --add-port=80/tcp --permanent

firewall-cmd --add-port=8080/tcp --permanent

firewall-cmd --add-port=8081/tcp --permanent

之後重啟防火牆:

firewall-cmd --reload
再次之前確保兩台tomcat啟動,還有nginx可以正常啟動,然後在瀏覽器輸入www.mylinux.cn/edu/demo.html

可以看到負載均衡效果實現了。

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...

Nginx負載均衡配置

負載均衡是我們大流量 要做的乙個東西,下面我來給大家介紹在nginx伺服器上進行負載均衡配置方法,希望對有需要的同學有所幫助哦。負載均衡 先來簡單了解一下什麼是負載均衡,單從字面上的意思來理解就可以解釋n臺伺服器平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閒置的情況。那麼負載均衡的前提就是...

Nginx負載均衡配置

nginx安裝請參考 nginx原始碼安裝 nginx負載均衡是通過upstream模組來實現的,內建實現了三種負載策略,配置還是比較簡單的。官網負載均衡配置說明 省略其它配置 根據伺服器的響應時間來分配請求,響應時間短的優先分配,即負載壓力小的優先會分配。由於fair模組是第三方提供的,所以在編譯...