日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx反向代理及负载均衡

發布時間:2023/12/10 Nginx 65 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx反向代理及负载均衡 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.??nginx反向代理

1.1. 什么是反向代理

? ? ? ? ? ??通常的代理服務器,只用于代理內部網絡對Internet的連接請求,客戶機必須指定代理服務器,并將本來要直接發送到Web服務器上的http請求發送到代理服務器中由代理服務器向Internet上的web服務器發起請求,最終達到客戶機上網的目的。

? ? ? ?而反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個反向代理服務器。

如下圖:

1.2. nginx+tomcat反向代理

i. ?需求

???????? 兩個tomcat服務通過nginx反向代理,本例子使用三臺虛擬機進行測試,

???????? nginx服務器:192.168.101.3

???????? tomcat1服務器:192.168.101.5

???????? tomcat2服務器:192.168.101.6?

如下圖:

ii. 啟動tomcat

???????? tomcat使用apache-tomcat-7.0.57版本,在192.168.101.5和192.168.101.6虛擬機上啟動tomcat。

iii. nginx反向代理配置

? ? ? ? ?根據上邊的需求在nginx.conf文件中配置反向代理,如下:

?

? ? ? ? ?#配置一個代理即tomcat1服務器

? ? ? ? ?upstream tomcat_server1 {

? ? ? ? ? ? ? ? ? ? ?server 192.168.101.5:8080;

? ? ? ? ?}

? ? ? ? ?#配置一個代理即tomcat2服務器

? ? ? ? ?upstream tomcat_server2 {

? ? ? ? ? ? ? ? ? ? ?server 192.168.101.6:8080;

? ? ? ? ?}

?

? ? ? ? #配置一個虛擬主機

? ? ? ?server {

? ? ? ? ? ? ? ? ? listen 80;

? ? ? ? ? ? ? ? ? server_name aaa.test.com;

???????? ? ? ?? ? location / {

???????????????????????????????????? #域名aaa.test.com的請求全部轉發到tomcat_server1即tomcat1服務上

?????????????? ? ? ? ? ? ??? ? ? ? ?proxy_pass http://tomcat_server1;

???????????????????????????????????? #歡迎頁面,按照從左到右的順序查找頁面

??????????????? ? ? ? ? ? ? ??? ? ? ?index index.jsp index.html index.htm;

? ? ? ? ? ? ? ? ? ?}

? ? ? ? ?}

?

? ?? ?? ?server {

? ? ? ? ? ? ? ? ??listen 80;

? ? ? ? ? ? ? ? ??server_name bbb.test.com;

? ? ? ? ? ? ? ? ???location / {

???????????????????????????????????? ?#域名bbb.test.com的請求全部轉發到tomcat_server2即tomcat2服務上

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?proxy_pass http://tomcat_server2;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? index index.jsp index.html index.htm;

? ? ? ? ? ? ? ? ??}

? ? ? ? ? ?}

iv. 測試

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

? ? ? ???tomcat1下的index.jsp修改后:

? ? ? ???tomcat2下的index.jsp修改后:

?

?

?

? ? ? ???分別訪問aaa.test.com、bbb.test.com測試反向代理。

? ? ? ???請求訪問aaa.test.com通過nginx代理訪問tomcat1,請求訪問bbb.test.com通過nginx代理訪問tomcat2。

2.??負載均衡

2.1. 什么是負載均衡

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

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

2.2. nginx實現負載均衡

v. 需求

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

???????? nginx負載均衡服務器:192.168.101.3

???????? tomcat1服務器:192.168.101.5

???????? tomcat2服務器:192.168.101.6

vi.配置

? ? ? ???根據上邊的需求在nginx.conf文件中配置負載均衡,如下:

?

? ? ? ??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;

????? ? ? ? ?? ????}

???? ? ??}

節點說明:

在http節點里添加:

?

#定義負載均衡設備的 Ip及設備狀態

upstream myServer {??

?

??? server 127.0.0.1:9090 down;

??? server 127.0.0.1:8080 weight=2;

??? server 127.0.0.1:6060;

??? server 127.0.0.1:7070 backup;

}

?

在需要使用負載的Server節點下添加

?

proxy_pass http://myServer;

?

upstream 每個設備的狀態:

?

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

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

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

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

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


vii.測試

? ? ? ???請求aaa.test.com,通過nginx負載均衡,將請求轉發到tomcat服務器。

? ? ??通過觀察tomcat的訪問日志或tomcat訪問頁面即可知道當前請求由哪個tomcat服務器受理。

總結

以上是生活随笔為你收集整理的Nginx反向代理及负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。