Nginx總結(六)nginx實現負載均衡


前面講了如何配置Nginx虛擬主機,大家可以去這里看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.html

今天要說的是如何配置nginx和tomcat實現反向代理。

需要說明的是:由於本文章是nginx系列文章中的一篇,文章里面很多其他的配置,可能前面的文章已經說講過,然后后續就沒有在介紹,如果出現有些配置沒有講,大家可能需要去看看前面的文章。

 

什么是負載均衡

         負載均衡是建立在現有網絡結構之上,它提供了一種廉價有效透明的方法擴展網絡設備和服務器的帶寬、增加吞吐量、加強網絡數據處理能力、提高網絡的靈活性和可用性。

         負載均衡,英文名稱為Load Balance,其意思就是分攤到多個操作單元上進行執行,例如Web服務器、FTP服務器、企業關鍵應用服務器和其它關鍵任務服務器等,從而共同完成工作任務。

 

Nginx實現負載均衡

i. 需求

         nginx作為負載均衡服務器,用戶請求先到達nginx,再由nginx根據負載配置將請求轉發至 tomcat服務器。

         nginx負載均衡服務器:192.168.78.132

         tomcat1服務器:192.168.78.134

         tomcat2服務器:192.168.78.135

 

ii. 環境准備

  1. 兩台 tomcat 服務器,我這里使用的是使用apache-tomcat-7.0.57版本,在192.168.78.134和192.168.78.135虛擬機上啟動tomcat。

  2. Nginx 服務器,這個之前安裝過,ip地址是:192.168.78.132

  3. 修改兩個tomcat下的webapps/ROOT/index.jsp的內容,使用tomcat1和tomcat2兩個服務首頁顯示不同的內容。

  4. 通過host文件指定aaa.test.com的域名解析,對應192.168.78.132虛擬機:修改window的hosts文件:(C:\Windows\System32\drivers\etc)

192.168.78.132 aaa.test.com

 

iii. 配置Nginx

根據上邊的需求在nginx.conf文件中的http節點添加如下配置:

   upstream tomcat_server_pool{

        server 192.168.101.5:8080 weight=10;

        server 192.168.101.6:8080 weight=10;

    }


    server {

        listen 80;

        server_name aaa.test.com;

        location / {

                 proxy_pass http://tomcat_server_pool;

                 index index.jsp index.html index.htm;

        }

    }

相關參數說明:

down:表示單前的server暫時不參與負載

weight :默認為1.weight越大,負載的權重就越大。

max_fails:允許請求失敗的次數默認為1.當超過最大次數時,返回proxy_next_upstream 模塊定義的錯誤

fail_timeout:max_fails 次失敗后,暫停的時間。

backup:其它所有的非backup機器down或者忙的時候,請求backup機器。所以這台機器壓力會最輕。


iv.  測試
 

請求aaa.test.com,我們會發現,nginx會將請求轉發到各個tomcat服務器上。

 

最后

以上就將Nginx負載均衡介紹完了。后面將會介紹Nginx的高可用。

 


免責聲明!

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



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