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

前面講了如何配置Nginx虛擬主機,你們能夠去這裏看看nginx系列文章:https://www.cnblogs.com/zhangweizhong/category/1529997.htmlhtml

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

須要說明的是:因爲本文章是nginx系列文章中的一篇,文章裏面不少其餘的配置,可能前面的文章已經說講過,而後後續就沒有在介紹,若是出現有些配置沒有講,你們可能須要去看看前面的文章。web

 

什麼是負載均衡

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

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

 

Nginx實現負載均衡

i. 需求

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

         nginx負載均衡服務器:192.168.78.132網絡

         tomcat1服務器:192.168.78.134app

         tomcat2服務器:192.168.78.135負載均衡

 

ii. 環境準備

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

  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的高可用。

相關文章
相關標籤/搜索