前言
本篇文章主要介绍的是nginx反向代理实现tomcat集群。
集群就是同一个业务,部署在多个服务器上,即不同的服务器运行同样的代码,干同一件事。多台机器处理访问,能够分担服务器的压力。此外,如果其中一台服务器宕机,访问则转移到剩余可用的服务器。
本文介绍的是通过nginx反向代理转发请求,搭建tomcat集群。
一、环境介绍
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页面
tomcat1
这是tomcat集群的第一个节点
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表示权重,当访问对应次数后跳到另一个节点
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;#监听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其中一个关掉,会访问剩下的节点,如果这两个都挂掉了,则会去访问tomcat3,这是由backup关键字决定的。
CSDN:https://blog.csdn.net/qq_27682773
:https://www.jianshu.com/u/e99381e6886e
博客园:https://www.cnblogs.com/lixianguo
个人博客:https://www.lxgblog.com