nginx 反向proxy多个 tomcat,负载均衡
負(fù)載均衡
- 一,正向proxy與反向proxynginx
- 二,nginx安裝
- 三,nginx負(fù)載均衡
- 場(chǎng)景
- 四,配置nginx訪問(wèn)代理多個(gè)tomcat
一,正向proxy與反向proxynginx
正向proxy
根據(jù)特定的策略:分發(fā)請(qǐng)求到指定的服務(wù)器端口。nginx將數(shù)據(jù)返回到client。
1. 虛擬主機(jī):把一臺(tái)物理服務(wù)器劃分為多個(gè)虛擬服務(wù)器,每個(gè)虛擬主機(jī)對(duì)應(yīng)一個(gè)Web站點(diǎn) 2. 負(fù)載均衡,同一個(gè)ip,映射多個(gè)端口,每個(gè)端口放一樣的程序。二,nginx安裝
# 添加 Nginx 源 sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# 安裝 Nginx sudo yum install -y nginx# 啟動(dòng) Nginx sudo systemctl start nginx.service# 設(shè)置開(kāi)機(jī)自啟 Nginx sudo systemctl enable nginx.service三,nginx負(fù)載均衡
同一個(gè)ip,映射多個(gè)端口,每個(gè)端口放一樣的程序。
場(chǎng)景
一只貓只能支持1000的并發(fā)量,在某個(gè)時(shí)間點(diǎn),只能有1000人訪問(wèn),否則服務(wù)器就掛了。
增加tomcat,但是每個(gè)貓都會(huì)占一個(gè)端口。如果這樣,一個(gè)網(wǎng)站只映射一個(gè)端口的。用戶不會(huì)敲端口來(lái)用你的po軟件…
如是使用nginx來(lái)分發(fā)用戶的請(qǐng)求,到一個(gè)端口上,如到下面的80端口(80隱藏了)。
nginx通過(guò)一定的配置,監(jiān)聽(tīng)80端口,將請(qǐng)求分發(fā)到某個(gè)的tomcat,響應(yīng)你想要的內(nèi)容。
如果用戶多了,繼續(xù)加服務(wù)器,做成服務(wù)器集群,每個(gè)服務(wù)器里面可有多個(gè)tomcat。
現(xiàn)在服務(wù)器搞定了,如果nginx掛了呢?心跳機(jī)制,使用keepalive,高可用。
用來(lái)監(jiān)聽(tīng)nginx服務(wù)器。
keepalived是集群管理中保證集群高可用的一個(gè)服務(wù)軟件,用來(lái)防止單點(diǎn)故障。
Keepalived的作用是檢測(cè)web服務(wù)器的狀態(tài),如果有一臺(tái)web服務(wù)器死機(jī),或工作出現(xiàn)故障,Keepalived將檢測(cè)到,并將有故障的web服務(wù)器從系統(tǒng)中剔除,當(dāng)web服務(wù)器工作正常后Keepalived自動(dòng)將web服務(wù)器加入到服務(wù)器群中,這些工作全部自動(dòng)完成,不需要人工干涉,需要人工做的只是修復(fù)故障的web服務(wù)器
四,配置nginx訪問(wèn)代理多個(gè)tomcat
這里只代理兩個(gè)端口。
反向代理的策略:配置中體現(xiàn)。
你需要: 服務(wù)器上有兩個(gè)tomcat,一個(gè)不改變, 第二個(gè)貓復(fù)制,改變端口就行了,保證所有端口和第一個(gè)不一樣。并且能正常啟動(dòng)。 保證tomcat的首頁(yè)不一樣,上傳不同的項(xiàng)目到tomcat測(cè)試。 安裝nginx。
配置:
1. 進(jìn)入nginx目錄 cd /etc/nginx/config.d 2. 新建tomcat.conf,以.conf結(jié)尾的文件 vim tomcat.conf將下面的代碼copy進(jìn)去,esc 然后按p
# 兩個(gè)端口,會(huì)被代理 upstream abc.cn { # abc.cn 可以隨便取,但是要同下面location-pass 的一樣。server 127.0.0.1:8081; #weight=10;server 127.0.0.1:8082; # weight=3;}# 這里是監(jiān)聽(tīng)8080端口 server {listen 8080;server_name localhost;location / {proxy_pass http://abc.cn; # 同上proxy_redirect default;}error_page 500 502 503 504 /50x.html;location = /50x.html {root html;}} 3. 按esc,然后輸入:wq保存退出 4. nginx -t 檢查語(yǔ)法 5. nginx -s reload 重啟nginx測(cè)試:
上面的配置,訪問(wèn) localhost:8080。如果你沒(méi)上傳項(xiàng)目到tomcat,看到的都是tomcat的首頁(yè)。
總結(jié)
以上是生活随笔為你收集整理的nginx 反向proxy多个 tomcat,负载均衡的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java.security.key ja
- 下一篇: 【伸手党福利】开发人员重装系统顺序