日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Nginx反向代理及负载均衡

發(fā)布時(shí)間:2023/12/10 79 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx反向代理及负载均衡 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.??nginx反向代理

1.1. 什么是反向代理

? ? ? ? ? ??通常的代理服務(wù)器,只用于代理內(nèi)部網(wǎng)絡(luò)對(duì)Internet的連接請(qǐng)求,客戶機(jī)必須指定代理服務(wù)器,并將本來(lái)要直接發(fā)送到Web服務(wù)器上的http請(qǐng)求發(fā)送到代理服務(wù)器中由代理服務(wù)器向Internet上的web服務(wù)器發(fā)起請(qǐng)求,最終達(dá)到客戶機(jī)上網(wǎng)的目的。

? ? ? ?而反向代理(Reverse Proxy)方式是指以代理服務(wù)器來(lái)接受internet上的連接請(qǐng)求,然后將請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部網(wǎng)絡(luò)上的服務(wù)器,并將從服務(wù)器上得到的結(jié)果返回給internet上請(qǐng)求連接的客戶端,此時(shí)代理服務(wù)器對(duì)外就表現(xiàn)為一個(gè)反向代理服務(wù)器。

如下圖:

1.2. nginx+tomcat反向代理

i. ?需求

???????? 兩個(gè)tomcat服務(wù)通過(guò)nginx反向代理,本例子使用三臺(tái)虛擬機(jī)進(jìn)行測(cè)試,

???????? nginx服務(wù)器:192.168.101.3

???????? tomcat1服務(wù)器:192.168.101.5

???????? tomcat2服務(wù)器:192.168.101.6?

如下圖:

ii. 啟動(dòng)tomcat

???????? tomcat使用apache-tomcat-7.0.57版本,在192.168.101.5和192.168.101.6虛擬機(jī)上啟動(dòng)tomcat。

iii. nginx反向代理配置

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

?

? ? ? ? ?#配置一個(gè)代理即tomcat1服務(wù)器

? ? ? ? ?upstream tomcat_server1 {

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

? ? ? ? ?}

? ? ? ? ?#配置一個(gè)代理即tomcat2服務(wù)器

? ? ? ? ?upstream tomcat_server2 {

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

? ? ? ? ?}

?

? ? ? ? #配置一個(gè)虛擬主機(jī)

? ? ? ?server {

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

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

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

???????????????????????????????????? #域名aaa.test.com的請(qǐng)求全部轉(zhuǎn)發(fā)到tomcat_server1即tomcat1服務(wù)上

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

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

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

? ? ? ? ? ? ? ? ? ?}

? ? ? ? ?}

?

? ?? ?? ?server {

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

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

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

???????????????????????????????????? ?#域名bbb.test.com的請(qǐng)求全部轉(zhuǎn)發(fā)到tomcat_server2即tomcat2服務(wù)上

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

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

? ? ? ? ? ? ? ? ??}

? ? ? ? ? ?}

iv. 測(cè)試

? ? ? ???分別修改兩個(gè)tomcat下的webapps/ROOT/index.jsp的內(nèi)容,使用tomcat1和tomcat2兩個(gè)服務(wù)首頁(yè)顯示不同的內(nèi)容,如下:

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

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

?

?

?

? ? ? ???分別訪問(wèn)aaa.test.com、bbb.test.com測(cè)試反向代理。

? ? ? ???請(qǐng)求訪問(wèn)aaa.test.com通過(guò)nginx代理訪問(wèn)tomcat1,請(qǐng)求訪問(wèn)bbb.test.com通過(guò)nginx代理訪問(wèn)tomcat2。

2.??負(fù)載均衡

2.1. 什么是負(fù)載均衡

???????? 負(fù)載均衡建立在現(xiàn)有網(wǎng)絡(luò)結(jié)構(gòu)之上,它提供了一種廉價(jià)有效透明的方法擴(kuò)展網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性。

???????? 負(fù)載均衡,英文名稱為L(zhǎng)oad Balance,其意思就是分?jǐn)偟蕉鄠€(gè)操作單元上進(jìn)行執(zhí)行,例如Web服務(wù)器、FTP服務(wù)器、企業(yè)關(guān)鍵應(yīng)用服務(wù)器和其它關(guān)鍵任務(wù)服務(wù)器等,從而共同完成工作任務(wù)。

2.2. nginx實(shí)現(xiàn)負(fù)載均衡

v. 需求

???????? nginx作為負(fù)載均衡服務(wù)器,用戶請(qǐng)求先到達(dá)nginx,再由nginx根據(jù)負(fù)載配置將請(qǐng)求轉(zhuǎn)發(fā)至 tomcat服務(wù)器。

???????? nginx負(fù)載均衡服務(wù)器:192.168.101.3

???????? tomcat1服務(wù)器:192.168.101.5

???????? tomcat2服務(wù)器:192.168.101.6

vi.配置

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

?

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

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

???? ? ??}

節(jié)點(diǎn)說(shuō)明:

在http節(jié)點(diǎn)里添加:

?

#定義負(fù)載均衡設(shè)備的 Ip及設(shè)備狀態(tài)

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;

}

?

在需要使用負(fù)載的Server節(jié)點(diǎn)下添加

?

proxy_pass http://myServer;

?

upstream 每個(gè)設(shè)備的狀態(tài):

?

down 表示單前的server暫時(shí)不參與負(fù)載

weight? 默認(rèn)為1.weight越大,負(fù)載的權(quán)重就越大。

max_fails :允許請(qǐng)求失敗的次數(shù)默認(rèn)為1.當(dāng)超過(guò)最大次數(shù)時(shí),返回proxy_next_upstream 模塊定義的錯(cuò)誤

fail_timeout:max_fails 次失敗后,暫停的時(shí)間。

backup: 其它所有的非backup機(jī)器down或者忙的時(shí)候,請(qǐng)求backup機(jī)器。所以這臺(tái)機(jī)器壓力會(huì)最輕。


vii.測(cè)試

? ? ? ???請(qǐng)求aaa.test.com,通過(guò)nginx負(fù)載均衡,將請(qǐng)求轉(zhuǎn)發(fā)到tomcat服務(wù)器。

? ? ??通過(guò)觀察tomcat的訪問(wèn)日志或tomcat訪問(wèn)頁(yè)面即可知道當(dāng)前請(qǐng)求由哪個(gè)tomcat服務(wù)器受理。

總結(jié)

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

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。