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;
		}
相关推荐
超级小忍30 分钟前
Maven 常用命令详解
java·开发语言·maven
小白的代码日记1 小时前
基于 Spring Boot 的小区人脸识别与出入记录管理系统实现
java·spring boot·后端
hty622 小时前
Spring Boot 注解式大文件 Excel 导入工具:excel‑import‑spring‑boot‑starter
java
李少兄2 小时前
解决IntelliJ IDEA 项目名称后带中括号问题(模块名不一致)
java·ide·intellij-idea
Alt.92 小时前
SpringMVC(一)
java·mvc
干了这杯柠檬多2 小时前
使用maven-shade-plugin解决es跨版本冲突
java·elasticsearch·maven
Proxbj3 小时前
MQTT解析
java
埃泽漫笔3 小时前
Spring 的 ioc 控制反转
java·spring·ioc
太阳之神aboluo3 小时前
SpringCloud (4) 分布式事务
java·spring·spring cloud
Noii.3 小时前
Mybatis的应用及部分特性
java·数据库·mybatis