Tomcat的优化多实例部署

本文详细介绍了Tomcat的核心组件,包括Web容器、JSP容器和Servlet容器的功能。接着,阐述了Tomcat的请求处理过程,并提供了多实例部署的步骤,包括关闭防火墙、安装JDK、配置环境变量、修改端口号等。此外,文章还讨论了Tomcat的优化策略,如调整maxThreads、minSpareThreads等参数,以及端口和编码配置,以提升性能和稳定性。
摘要由CSDN通过智能技术生成

目录

一.tomcat核心组件模块

1.2. toncat'功能组件结构

二.Tomcat 优化

 三.简述Tomcat请求过程

四.Tomcat 多实例部署

多实例部署图示

1.关闭防火墙

拖入软件包

 2.安装JDk 设置JDK环境变量

 3.解压tomcat  创建目录

4.配置 tomcat 环境变量

 5.修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号

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

添加tomcat1 :vim /usr/local/tomcat/tomcat1/bin/startup.sh 

添加tomcat1:vim /usr/local/tomcat/tomcat1/bin/shutdown.sh

添加tomcat2 : vim /usr/local/tomcat/tomcat2/bin/startup.sh

 添加tomcat2 : vim /usr/local/tomcat/tomcat2/bin/shutdown.sh

 7.启动各 tomcat 中的 /bin/startup.sh 

​编辑 8.浏览器访问测试

http://192.168.10.80:8080

http://192.168.10.80:8081 

五. 优化配置


一.tomcat核心组件模块

1.web容器:接受.响应请求 2.展示动态页面

2..JSP容器:翻译java---》servlet

3.serverlet容器:serverlet代码格式是用于JSP容器处理

简述:

web容器 :1.接受、响应请求 2.展示动态页面

JSP容器:翻译java---》servlet

serverlet容器:借助catalina 来执行servelet代码

1.2. toncat'功能组件结构

cannector:负责外部接收和响应请求

containe:负责对内处理业务逻辑

service:对外提供的web服务主要包含cennector和comtainer两核心组件

二.Tomcat 优化

(1)Tomcat默认安装下的缺省配置并不适合生产环境,它可能会频繁出现假死现象需要重启,只有通过不断压测优化才能让它最高效率稳定的运行。优化主要包括三方面,分别为操作系统优化(内核参数优化),Tomcat配置文件参数优化,Java虚拟机(JVM)调优。

常见的优化相关参数

8080:tomcat 的http默认监听端口   

8443:http s 的默认是端口没有开启  要开启先去生成证书(SSL)

8005:来关闭tomcat的服务端口,使用shutdown关闭就是这个端口

8009:连接器的监听端口(负责和其他的http服务器建立连接),把tomcat与其他http服务集成时,就需要用到连接器

(2)maxThreads

Tomcat使用线程来处理接收的每个请求,这个值表示Tomcat可创建的最大的线程数,即支持的最大并发连接数,默认值是 200。(根据Tomcat的请求数量设置)

如tomcat挂了,服务正常起来:最大线程数的问题,查看是否超过了默认值或者自己设置的最大线程数

(3)minSpareThreads

最小空闲线程数,Tomcat启动时的初始化的线程数,表示即使没有人使用也开这么多空线程等待,默认值是 10。

平常设置50-80之间即可,设置的较大会浪费资源

(4)maxSpareThreads

最大备用线程数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。默认值是-1(无限制)。一般不需要指定。
(5)URIEncoding

指定 Tomcat 容器的 URL 编码格式,语言编码格式这块倒不如其它web服务器软件配置方便,需要分别指定。

一般是utf-8

(6)connectionTimeout

网络连接超时,单位:毫秒,设置为 0

表示永不超时,这样设置有隐患的。通常默认 20000 毫秒就可以。
(7)enableLookups

是否反查域名,以返回远程主机的主机名,取值为: true 或false,如果设置为 false,则直接返回 IP 地址,为了提高处理能力,应设置为 false。(如不是false会陷入循环)
(8)disableUploadTimeout

上传时是否使用超时机制。应设置为 true。
(9)connectionUploadTimeout

上传超时时间,毕竟文件上传可能需要消耗更多的时间,这个根据你自己的业务需要自己调,以使servlet有较长的时间来完成它的执行,需要与上一个参数一起配合使用才会生效。
(10)acceptCount

指定当所有可以使用的处理请求的线程数都被使用时,可传入连接请求的最大队列长度,超过这个数的请求将不予处理,默认为 100 个。如果超出默认值或者自己设置的值,将会丢弃。
(11)compression

是否对响应的数据进行GZIP压缩,off:表示禁止压缩、 on:表示允许压缩 (文本将被压缩)、force: 表示所有情况下都进行压缩,默认值为:off——压缩数据后可以有效的减少页面的大小,一般可以减小 1/3 左右,节省带宽。

(12)compressionMinSize

表示压缩响应的最小值,只有当响应报文大小大于这个值的时候才会对报文进行压缩,如果开启了压缩功能,默认值就是 2048。

超过默认值才会开启压缩,低于不会压缩

(13)compressableMimeType

压缩类型,指定对哪些类型的文件进行数据压缩。

(14)noCompressionUserAgents=“gozilla,traviata”

对于以下的浏览器,不启用压缩

 三.简述Tomcat请求过程

1用户浏览器访问8080端口,到达connector

2.connector在转发给contauner 在下发给四个容器

3.处理完四个容器在转发 connector 在转发给用户

四.Tomcat 多实例部署

多实例部署图示

1.关闭防火墙

拖入软件包

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

 2.安装JDk 设置JDK环境变量

安装jdk
rpm -ivh jdk-8u371-linux-x64.rpm

设置JDK环境变量
vim /etc/profile.d/java.sh
                                          
export JAVA_HOME=/usr/java/jdk1.8.0-x64                           #定义环境变量
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar #定义环境变量
export PATH=$JAVA_HOME/bin:$PATH                                  #定义环境变量

source /etc/profile.d/java.sh                   #刷新文件,使立即生效
java -version                                   #再次查看JDK版本   

 3.解压tomcat  创建目录

 tar xf apache-tomcat-8.5.16.tar.gz

mkdir /usr/local/tomcat
mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1
cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2

4.配置 tomcat 环境变量

配置 tomcat 环境变量
vim /etc/profile.d/tomcat.sh
#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

source /etc/profile.d/tomcat.sh

 5.修改 tomcat2 中的 server.xml 文件,要求各 tomcat 实例配置不能有重复的端口号

vim /usr/local/tomcat/tomcat2/conf/server.xml
<Server port="8006" shutdown="SHUTDOWN">		#22行,修改Server prot,默认为8005 -> 修改为8006
<Connector port="8081" protocol="HTTP/1.1"		#69行,修改Connector port,HTTP/1.1  默认为8080 -> 修改为8081
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />	#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010

 

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

添加tomcat1 :vim /usr/local/tomcat/tomcat1/bin/startup.sh 

vim /usr/local/tomcat/tomcat1/bin/startup.sh 


 60 exec "$PRGDIR"/"$EXECUTABLE" start "$@"
 61 export CATALINA_BASE=$CATALINA_BASE1
 62 export CATALINA_HOME=$CATALINA_HOME1
 63 export TOMCAT_HOME=$TOMCAT_HOME1

 

添加tomcat1:vim /usr/local/tomcat/tomcat1/bin/shutdown.sh

vim /usr/local/tomcat/tomcat1/bin/shutdown.sh

 61 export CATALINA_BASE=$CATALINA_BASE1
 62 export CATALINA_HOME=$CATALINA_HOME1
 63 export TOMCAT_HOME=$TOMCAT_HOME1

添加tomcat2 : vim /usr/local/tomcat/tomcat2/bin/startup.sh

 vim /usr/local/tomcat/tomcat2/bin/startup.sh 

 
 61 export CATALINA_BASE=$CATALINA_BASE2
 62 export CATALINA_HOME=$CATALINA_HOME2
 63 export TOMCAT_HOME=$TOMCAT_HOME2

 

 添加tomcat2 : vim /usr/local/tomcat/tomcat2/bin/shutdown.sh

vim /usr/local/tomcat/tomcat2/bin/shutdown.sh


 61 export CATALINA_BASE=$CATALINA_BASE2
 62 export CATALINA_HOME=$CATALINA_HOME2
 63 export TOMCAT_HOME=$TOMCAT_HOME2

 7.启动各 tomcat 中的 /bin/startup.sh 

#开启
/usr/local/tomcat/tomcat1/bin/startup.sh 
/usr/local/tomcat/tomcat2/bin/startup.sh 

#关闭
/usr/local/tomcat/tomcat1/bin/shutdown.sh
/usr/local/tomcat/tomcat2/bin/shutdown.sh


​
查看端口是否开启
netstat -natp | grep java

​

 8.浏览器访问测试


http://192.168.10.80:8080

http://192.168.10.80:8081 

五. 优化配置

 还是放在这边  上面做完  我才配置了 优化

vim /usr/local/tomcat/tomcat2/conf/server.xml
. . . . . .
#端口
<Connector port="8080" protocol="HTTP/11.1"connectionTimeout="20000"
redirectPort="8443"
--71行--插入
#最小空闲线程数
minSpareThreads="50"
是否反查域名
enableLookups="false"
#上传时是否使用超时机制
disableUploadTimeout="true"
#指定当前所有可以使用处理请求的线程数
acceptCount="300"
#使用线程数来处理接受的每个请求
maxThreads="500"
#系统或程序可以使用 500 MB 的处理器(CPU)缓存空间,以提高程序的运行速度。
processorCache="500"
#指定tomcat容器的URL编码格式
URIEncoding="UTF-8"
#是否对响应的数据进行GZIP压缩
compression="on"
#压缩的最小值
compressionMinSize="2048"
#支持压缩类型
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image /jpg,image/png"/>



minSpareThreads="50" 
enableLookups="false" 
disableUploadTimeout="true" 
acceptCount="300" 
maxThreads="500" 
processorCache="500"
URIEncoding="UTF-8" 
compression="on" 
compressionMinSize="2048" 
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain,image/gif,image /jpg,image/png"/>



启动优化
/usr/local/tomcat/tomcat2/bin/startup.sh 

/usr/local/tomcat/tomcat2/bin/shutdown.sh

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔小怪兽

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值