Nginx的負載均衡


Nginx的負載均衡

簡單了解

  • 負載均衡,相信大家都知道是什么意思,在Nginx中均衡的意思是指在大批量的訪問前提下的一種基本均衡,並非絕對的均衡;

  • 對於Web工程的負載均衡,就是將相同的Web應用部署到不同的Web服務器,

  • 當多個請求到來時,由負載均衡服務器負責將請求按照實現設定好的規則向Web服務器進行分發,從而增加系統整體吞吐量

負載均衡Demo

  • 這個Demo需要使用到三台服務器,一個Nginx,兩台Tomcat,在Nginx上設置對這兩台Tomcat主機的負載均衡

  • Nginx:192.168.159.169

  • Tomcat:192.168.159.158;192.168.159.179

環境搭建:因為我的三台Linux都是沒裝JDK環境的,所以在裝Tomcat之前得把JDK環境給裝上,詳細不多說,這個不是我們的重點,

然后就是Tomcat環境的搭建,這個也不是我們的重點,然后把我們的web工程打包放到Tom的webapp目錄下,啟動Tomcat,這個也不是重點。

為了待會兒負載均衡看到效果,我們再每個工程中顯示當前機器的IP

  

環境搭建完成訪問web工程如下所示:

  

  

修改我們的Nginx的配置文件如下:

  

  • 首先我們創建一個upstream 取個id 隨便取什么可以,我取的是tomcat.nginx.com

    1. :server:參與負載均衡的機器的ip和端口

    2. :weight:中文為權重的意思,也就是比列,上面兩個服務的負載均衡比列為1:1

  • 然后在我們的攔截規則中通過proxy_pass 指定上方這個id即可

  • 這樣我們訪問我們的nginx,其后帶上訪問的項目的名稱,我沒改所以為項目打包的名字

  • 可以看到我們的訪問路徑是Nginx服務器且沒有變,但下面顯示當前項目的ip卻變了,說明訪問了不同的項目,且每刷新一次就會換一個項目,實現了1:1分攤負載

  • Nginx內部對攔截的請求進行了轉發,轉發到內部參與負載均衡的機器的列表中


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM