Tomcat多实例与负载均衡、动静分离

一、 Tomcat多实例

1.1 什么是Tomcat多实例?

Tomcat 多实例是指在同一台服务器上运行多个独立的 Tomcat 实例。

每个 Tomcat 实例都具有独立的配置文件、日志文件、应用程序和端口。

通过配置不同的端口和文件目录,可以实现同时运行多个独立的 Tomcat 服务器,每个服务器都可以独立处理用户的请求。

这样可以提高服务器的并发处理能力和灵活性,同时隔离不同的应用程序和配置。

1.2 配置思路

1)修改 tomcat 主配置文件 server.xml 中的三个端口号 8080 8005 8009; 2)修改 tomcat 启动停止脚本 startup.sh shutdown.sh,添加 export CATALINA BASE CATALINA HONE TOWCAT HOME 变量都指向实例的工作目录。

1.3 配置实现

1.3.1 安装jdk
1.3.2 安装tomcat
mkdir /usr/local/tomcat
#实例1
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1 
#实例2
cp -a /usr/local/tomcat/tomcat1  /usr/local/tomcat/tomcat2 
#实例3
cp -a /usr/local/tomcat/tomcat1  /usr/local/tomcat/tomcat3
​
[root@localhost tomcat]# ls
tomcat1  tomcat2  tomcat3
​
1.3.3 配置 tomcat 环境变量
​
​
#tomcat1
export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1
​
#tomcat2
export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2
​
#tomcat3
export CATALINA_HOME3=/usr/local/tomcat/tomcat3
export CATALINA_BASE3=/usr/local/tomcat/tomcat3
export TOMCAT_HOME3=/usr/local/tomcat/tomcat3
​
​
source /etc/profile
​
1.3.4 修改端口号
----------------------------------------------------------------------------------------------------------
第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。
第二个连接器默认监听8009端口,AJP端口,即容器使用,如Apache能通过AJP协议访问Tomcat的8009端口。
----------------------------------------------------------------------------------------------------------
​
#tomcat2
vim /usr/local/tomcat/tomcat2/conf/server.xml  
#22行,修改Server prot,默认为8005 -> 修改为8006
#69行,修改Connector port,HTTP/1.1  默认为8080 -> 修改为8081
#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010
​
#tomcat3
vim /usr/local/tomcat/tomcat3/conf/server.xml
#22行,修改Server prot,默认为8005 -> 修改为8007
#69行,修改Connector port,HTTP/1.1  默认为8080 -> 修改为8082
#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8011
​
1.3.5 修改各 tomcat 实例中的 startup.sh 和 shutdown.sh 文件,添加 tomcat 环境变量

以tomcat1为例,tomcat2和tomcat3配置相同

#tomcat1
vim /usr/local/tomcat/tomcat1/bin/startup.sh
​
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
​
​
vim /usr/local/tomcat/tomcat1/bin/shutdown.sh
​
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
​
1.3.6 启动各 tomcat 中的 /bin/startup.sh
#都是后台启动
/usr/local/tomcat/tomcat1/bin/startup.sh 
/usr/local/tomcat/tomcat2/bin/startup.sh 
/usr/local/tomcat/tomcat3/bin/startup.sh 
​
ss -natp | grep java
1.3.7 浏览器访问测试
http://192.168.2.100:8080
http://192.168.2.100:8081
http://192.168.2.100:8082

二、Nginx+Tomcat负载均衡、动静分离

2.1 原理部分

服务端接收来自客户端的请求中,既有静态资源也有动态资源,静态资源由Nginx提供服务,动态资源Nginx转发至后端。

2.2 配置思路

使用七层代理实现动静分离+负载均衡,配置tomcat多实例,多个tomcat轮流处理动态资源(轮询算法);

访问静态资源,由nginx直接处理并响应。

使用四层代理实现nginx负载均衡,客户端到代理服务器的请求,由nginx1和nignx2轮流处理(轮询算法)。

# 代理服务器
​
yum install epel-release.noarch -y
安装 epel 源
yum install nginx -y
安装nginx
vim /etc/nginx/nginx.con
http{
upstream web {
  server 192.168.10.101;
  server 192.168.10.102;
}
}
location /{
proxy_pass http://web;
}
systemctl start nginx
​
# nginx 服务器1
​
yum install epel-release.noarch -y
安装 epel 源
yum install nginx -y
安装nginx
vim /etc/nginx/nginx.conf
location ~ \.jsp$ {
proxy_pass http://192.168.10.20:8080;
}
location ~ \.(jpglhtml)${
root  /usr/share/nginx/html;
}
​
# nginx 服务器2
​
安装 epel 源
yum install epel-release.noarch -y
安装nginx
yum install nginx -y
vim /etc/nginx/nginx.conf
location ~ \.jsp$ {
proxy_pass http://192.168.10.30:8080;
}
location ~ \.(jpg|html)$ {
root  /usr/share/nginx/html;
}
7-4 web1
安装tomcat
设置jsp文件
cd /usr/local/tomcat/webapps/ROOT/
mv index.jsp index.jsp.bak
vim index.jsp7-4
7-5 web2
安装tomcat
设置jsp文件
cd /usr/local/tomcat/webapps/ROOT/
mv index.jsp index.jsp.bak
vim index.jsp

  • 23
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值