前言
本篇文章主要介紹的是nginx反向代理實現(xiàn)tomcat集群骤公。
集群就是同一個業(yè)務坏瞄,部署在多個服務器上,即不同的服務器運行同樣的代碼脆栋,干同一件事倦卖。多臺機器處理訪問,能夠分擔服務器的壓力筹吐。此外糖耸,如果其中一臺服務器宕機,訪問則轉(zhuǎn)移到剩余可用的服務器丘薛。
本文介紹的是通過nginx反向代理轉(zhuǎn)發(fā)請求嘉竟,搭建tomcat集群。
一洋侨、環(huán)境介紹
1.復制四臺centos7的虛擬機舍扰,在tomcat服務器中安裝tomcat,在nginx服務器中安裝nginx希坚。
ip | 應用 |
---|---|
192.168.56.101 | 部署Tomcat |
192.168.56.102 | 部署Tomcat |
192.168.56.103 | 部署Tomcat |
192.168.56.105 | 部署Nginx |
JDK:1.8.0_162
Tomcat:apache-tomcat-8.5.27
二边苹、配置服務器
1.在三臺Tomcat服務器/usr/local/apache-tomcat-8.5.27/webapps/ROOT
中分別添加三個不同的index.html頁面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>tomcat1</title>
</head>
<body>
<h1>這是tomcat集群的第一個節(jié)點</h1>
</body>
</html>
2.訪問 192.168.56.101:8080
訪問 192.168.56.102:8080
訪問 192.168.56.103:8080
3.配置nginx
vim /usr/local/nginx/conf/nginx.conf
#user nobody;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
upstream myserver{
#weight表示權重,當訪問對應次數(shù)后跳到另一個節(jié)點
server 192.168.56.101:8080 weight=1 max_fails=2;
server 192.168.56.102:8080 weight=2 max_fails=2;
#backup表示備份機裁僧,所有非backup服務器宕機后會啟用它
server 192.168.56.103:8080 backup weight=3 max_fails=2;
}
server {
listen 80;#監(jiān)聽80端口
server_name myserver;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
#這里的myserver必須要和upstream中指定的一致
proxy_pass http://myserver;
#proxy_redirect on;
proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
4.啟動nginx个束,訪問192.168.56.105
多刷新幾次,會在tomcat1和tomcat2中來回訪問聊疲,訪問比重由配置中的weight關鍵字決定茬底,把這兩個tomcat其中一個關掉,會訪問剩下的節(jié)點获洲,如果這兩個都掛掉了阱表,則會去訪問tomcat3,這是由backup關鍵字決定的贡珊。
CSDN:https://blog.csdn.net/qq_27682773
簡書:http://www.reibang.com/u/e99381e6886e
博客園:https://www.cnblogs.com/lixianguo
個人博客:https://www.lxgblog.com