tomcat动静分离与多实例

多实例:

需要提前安装jdk与tomcat。

mkdir /usr/local/tomcat  #创建tomcat目录
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1  #创建第一个tomcat
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2  #创建第二个tomcat

配置环境变量:
vim /etc/profile.d/tomcat.sh

export CATALINA_HOME1=/usr/local/tomcat/tomcat1
export CATALINA_BASE1=/usr/local/tomcat/tomcat1
export TOMCAT_HOME1=/usr/local/tomcat/tomcat1

export CATALINA_HOME2=/usr/local/tomcat/tomcat2
export CATALINA_BASE2=/usr/local/tomcat/tomcat2
export TOMCAT_HOME2=/usr/local/tomcat/tomcat2

source /etc/profile.d/tomcat.sh

修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号
vim /usr/local/tomcat/tomcat2/conf/server.xml
<Server port="8006" shutdown="SHUTDOWN">  #22行修改Server端口号为8006
<Connector port="8081" protocol="HTTP/1.1"  #69行修改Connector端口号为8081
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />  修改Connector port AJP为8010	

第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器。

第二个连接器默认监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,需要用到这个连接器。

第三个连接器:

port="8010":指定AJP连接器监听的端口号。在这个示例中,AJP连接器监听在8010端口上。

protocol="AJP/1.3":指定连接器所使用的协议。这里设置为AJP/1.3,表示使用AJP协议的版本1.3。

redirectPort="8443":指定重定向端口。当AJP连接器接收到HTTP请求时,如果请求是通过HTTPS(加密)访问的,则会将请求重定向到8443端口。

AJP连接器用于将静态资源和动态请求从前端Web服务器(如Apache HTTP Server)转发到Tomcat服务器。

这样可以将Tomcat服务器隐藏在防火墙之后,提高安全性,同时提供更高的性能,特别是在处理动态请求时。

常见的AJP连接器配置是为了将Tomcat与Apache HTTP Server或Nginx等前端服务器集成,以实现负载均衡、反向代理等功能。

修改tom实例中的startup.sh与shutdown.sh文件,添加tomcat环境变量

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

vim /usr/local/tomcat/tomcat2/bin/startup.sh 
结尾添加
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2

vim /usr/local/tomcat/tomcat2/bin/shutdown.sh
结尾添加
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2

动静分离:

额外需要一台nginx服务器。

vim /usr/local/nginx/conf/nginx.conf
在#gzip on;下面写入
upstream tomcat_server {
		server 192.168.233.71:8080 weight=1;
		server 192.168.233.71:8081 weight=1;
	}
	
	server {
		listen 80;
		server_name localhost;
	
		charset utf-8;

在server中写入
location ~ .*\.jsp$ {
    proxy_pass http://tomcat_server;
    proxy_set_header HOST $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|css)$ {
			root /usr/local/nginx/html;
			expires 10d;
		}
相关推荐
阿乾之铭14 分钟前
spring MVC 拦截器
java·spring·mvc
码爸16 分钟前
flink 批量写clickhouse
java·clickhouse·flink
djgxfc19 分钟前
简单了解Maven与安装
java·maven
中文很快乐22 分钟前
springboot结合p6spy进行SQL监控
java·数据库·sql
丶白泽23 分钟前
重修设计模式-概览
java·设计模式
小电玩23 分钟前
谈谈你对Spring的理解
java·数据库·spring
五味香27 分钟前
C++学习,动态内存
java·c语言·开发语言·jvm·c++·学习·算法
无名之逆28 分钟前
计算机专业的就业方向
java·开发语言·c++·人工智能·git·考研·面试
爱棋笑谦34 分钟前
二叉树计算
java·开发语言·数据结构·算法·华为od·面试
狂盗一枝梅36 分钟前
深入理解Java对象结构
java