Nginx總結(六)nginx實現負載均衡
- 2019 年 10 月 3 日
- 筆記
前面講了如何配置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:WindowsSystem32driversetc)
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的高可用。