应用中间件-Tomcat系列

Tomcat集群

2019-10-10  本文已影响0人  Roct

Tomcat集群

Tomcat集群原理
Tomcat集群能带来什么
Tomcat集群能带来了什么问题
单机
集群, 单独设立一个redis中间层来解决启动定时任务和session读取的问题

Tomcat单机部署多应用

1. 解压2个tomcat, 分别命名为tomcat1和tomcat2
解压2个tomcat
2. 分别设置2个tomcat的URIEncoding, 将tomcat2的conf/server.xml里的port修改加1000
设置URIEncoding

3. 设置tomcat的图标, 以区别访问2个不同的tomcat

下载一张图片, 命名为tomcat.png, 进入tomcat2中, 替换webapps/ROOT/tomcat.png. 当启动tomcat2的时候, 访问localhost:9080即可验证

访问tomcat2
4. 设置tomcat的环境变量
sudo vim /ect/profile

在profile文件里新增

export CATALINA_BASE=/Users/rochester/tomcat/apache-tomcat-9.0.21
export CATALINA_HOME=/Users/rochester/tomcat/apache-tomcat-9.0.21
export TOMCAT_HOME=/Users/rochester/tomcat/apache-tomcat-9.0.21

export CATALINA_2_BASE=/Users/rochester/tomcat/tomcat2
export CATALINA_2_HOME=/Users/rochester/tomcat/tomcat2
export TOMCAT_2_HOME=/Users/rochester/tomcat/tomcat2

强制保存退出

继续配置tomcat2下的catalina.sh里的内容,

cd tomcat目录

sudo vi catalina.sh

# OS specific support. $var _must_ be set to either true or false.下加入

export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME

执行

source /etc/profile

使环境变量生效, 执行

echo $CATALINA_2_BASE

如果有输出, 即环境变量已经生效

/Users/rochester/tomcat/tomcat2

分别进入两个tomcat下的bin目录启动tomcat, 正常即可

配置nginx

修改host
 sudo vim /etc/hosts

在hosts文件里新增

# tomcat test 
127.0.0.1 www.rui.com
启动nginx
cd /usr/local/Cellar/nginx/1.17.0/bin
# 启动nginx
./nginx
配置nginx, 访问域名转发到固定端口下
## 进入nginx的配置文件目录下
cd /usr/local/etc/nginx
## 创建一个vhost目录
mkdir vhost

在nginx.conf引入vhost

vim nginx.conf
引入vhost, 代码和server同级

在vhost内创建一个配置文件

touch rui.com.conf
vim rui.com.conf

加入以下代码

### rui.com 负载均衡
   server {
       listen 80;
       autoindex on;
       server_name rui.com www.rui.com;
       #access_log /usr/local/nginx/access.log combined;
       index index.html index.htm index.jsp index.php;
       if ($query_string ~* ".*[\;'\<\>].*") {
               return 404;
       }
       location / {
               proxy_pass http://127.0.0.1:8080/;
       }
   }

重启nginx

sudo nginx -s reload

在浏览器输入www.rui.com(不加端口号)即可转发到8080的端口下

Ngix负载均衡配置, 常用策略, 场景以及特点

轮询(默认)
upstream www.xxx.com {
      server www.xxx.com:8080;
      server www.xxx.com:9080;
}
权重
upstream www.xxx.com {
      server www.xxx.com:8080 weight=15;
      server www.xxx.com:9080 weight=10;
}
ip hash(插件)
upstream www.xxx.com {
      ip_hash;
      server www.xxx.com:8080;
      server www.xxx.com:9080;
}
url hash(插件)
upstream www.xxx.com {
      server www.xxx.com:8080;
      server www.xxx.com:9080;
      hash $request_uri;
}
fair(插件)
upstream www.xxx.com {
      server www.xxx.com:8080;
      server www.xxx.com:9080;
      fair;
}

利用nginx实现负载均衡

在nginx的com.rui.conf配置文件内输入

upstream www.rui.com {
        server www.rui.com:8080 weight=10;
        server www.rui.com:9080 weight=2;
}

server {
       listen 80;
       autoindex on;
       server_name rui.com www.rui.com;
       #access_log /usr/local/nginx/access.log combined;
       index index.html index.htm index.jsp index.php;
       if ($query_string ~* ".*[\;'\<\>].*") {
               return 404;
       }
       location / {
               proxy_pass http://www.rui.com;
       }
}

重启nginx, 浏览器访问www.rui.com即可实现访问不同的tomcat, 根据weight来调整访问tomcat的频率

上一篇 下一篇

猜你喜欢

热点阅读