1. 程式人生 > >Nginx總結(六)nginx實現負載均衡

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

&n