nginx 反向proxy多个 tomcat,负载均衡
負載均衡
- 一,正向proxy與反向proxynginx
- 二,nginx安裝
- 三,nginx負載均衡
- 場景
- 四,配置nginx訪問代理多個tomcat
一,正向proxy與反向proxynginx
正向proxy
根據特定的策略:分發請求到指定的服務器端口。nginx將數據返回到client。
1. 虛擬主機:把一臺物理服務器劃分為多個虛擬服務器,每個虛擬主機對應一個Web站點 2. 負載均衡,同一個ip,映射多個端口,每個端口放一樣的程序。二,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# 啟動 Nginx sudo systemctl start nginx.service# 設置開機自啟 Nginx sudo systemctl enable nginx.service三,nginx負載均衡
同一個ip,映射多個端口,每個端口放一樣的程序。
場景
一只貓只能支持1000的并發量,在某個時間點,只能有1000人訪問,否則服務器就掛了。
增加tomcat,但是每個貓都會占一個端口。如果這樣,一個網站只映射一個端口的。用戶不會敲端口來用你的po軟件…
如是使用nginx來分發用戶的請求,到一個端口上,如到下面的80端口(80隱藏了)。
nginx通過一定的配置,監聽80端口,將請求分發到某個的tomcat,響應你想要的內容。
如果用戶多了,繼續加服務器,做成服務器集群,每個服務器里面可有多個tomcat。
現在服務器搞定了,如果nginx掛了呢?心跳機制,使用keepalive,高可用。
用來監聽nginx服務器。
keepalived是集群管理中保證集群高可用的一個服務軟件,用來防止單點故障。
Keepalived的作用是檢測web服務器的狀態,如果有一臺web服務器死機,或工作出現故障,Keepalived將檢測到,并將有故障的web服務器從系統中剔除,當web服務器工作正常后Keepalived自動將web服務器加入到服務器群中,這些工作全部自動完成,不需要人工干涉,需要人工做的只是修復故障的web服務器
四,配置nginx訪問代理多個tomcat
這里只代理兩個端口。
反向代理的策略:配置中體現。
你需要: 服務器上有兩個tomcat,一個不改變, 第二個貓復制,改變端口就行了,保證所有端口和第一個不一樣。并且能正常啟動。 保證tomcat的首頁不一樣,上傳不同的項目到tomcat測試。 安裝nginx。
配置:
1. 進入nginx目錄 cd /etc/nginx/config.d 2. 新建tomcat.conf,以.conf結尾的文件 vim tomcat.conf將下面的代碼copy進去,esc 然后按p
# 兩個端口,會被代理 upstream abc.cn { # abc.cn 可以隨便取,但是要同下面location-pass 的一樣。server 127.0.0.1:8081; #weight=10;server 127.0.0.1:8082; # weight=3;}# 這里是監聽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 檢查語法 5. nginx -s reload 重啟nginx測試:
上面的配置,訪問 localhost:8080。如果你沒上傳項目到tomcat,看到的都是tomcat的首頁。
總結
以上是生活随笔為你收集整理的nginx 反向proxy多个 tomcat,负载均衡的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java.security.key ja
- 下一篇: mogodb能干嘛