很久都在使用微服务开发,tomcat好久没有使用,今天想弄个Jenkins给自己博客更新一个流水线部署,回顾一下以前的流水线操作,结果tomcat安装运行不了,记录一下过程

环境

版本:apache-tomcat-7.0.63
JDK :11
系统:win10

启动过程

在tomcat下找到bin目录下startup.bat启动,结果闪退且看不到日志。

然后在cmd命令行下执行startup.bat 日志如下:

The CATALINA_HOME environment variable is not defined correctly This environment variable is needed

然原来缺环境变量 在win10配置好环境变量

# 用户变量下新增
CATALINA_HOME = E://apache-tomcat-7.0.63

#系统环境变量path(新增一个变量)
path = %CATALINA_HOME%\bin

继续运行startup.bat,没有报错,提示

C:\Users\Lolilipop>E:\apache-tomcat-7.0.63\bin\startup.bat
Using CATALINA_BASE:   "E:\apache-tomcat-7.0.63"
Using CATALINA_HOME:   "E:\apache-tomcat-7.0.63"
Using CATALINA_TMPDIR: "E:\apache-tomcat-7.0.63\temp"
Using JRE_HOME:        "D:\Program Files\Java\jdk-11"
Using CLASSPATH:       "E:\apache-tomcat-7.0.63\bin\bootstrap.jar;E:\apache-tomcat-7.0.63\bin\tomcat-juli.jar"

有点迷糊,不知道是不是jdk问题,在上tomcat官网查看一下,结果还真是这个问题,jdk11 ,支持10.X以上tomcat。

(https://tomcat.apache.org/whichversion.html)

解决完成这个问题,修改回CATALINA_HOME配置,正常启动tomcat ,下一篇文章来把Jenkins.war部署到tomcat,进行流水线部署应用

tomcat 一些优化配置等

1、设置字符集

打开Tomcat的配置文件 server.xml,该文件通常位于 Tomcat 的 conf 目录下。

元素中添加 URIEncoding="UTF-8" 属性并重启tomcat,如下所示

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           URIEncoding="UTF-8" />

2、内存优化设置

打开Tomcat的启动脚本,该文件通常位于Tomcat的bin目录下,文件名为catalina.sh(在Linux/Unix系统下)或catalina.bat(在Windows系统下)。

在启动脚本中找到JAVA_OPTS变量的设置部分。这个变量用来配置Java虚拟机的参数。

在JAVA_OPTS中添加-Xms和-Xmx参数来分别设置初始堆大小和最大堆大小。例如:

export JAVA_OPTS="-Xms512m -Xmx1024m"

3、调整线程池参数

打开Tomcat的配置文件 server.xml,该文件通常位于 Tomcat 的 conf 目录下。

元素中找到 executor 属性,该属性用于配置Tomcat的线程池。你可以调整以下参数来优化线程池的性能:

maxThreads:最大线程数,用于处理请求的最大并发数。

minSpareThreads:最小空闲线程数,用于控制Tomcat保持的最小空闲线程数量。

acceptCount:接受队列大小,用于设置当线程池满时能够排队等待的最大请求数。

示例配置如下:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           executor="tomcatThreadPool"
           maxThreads="200"
           minSpareThreads="10"
           acceptCount="100" />

4、启用缓存

启用Tomcat的缓存功能可以减少对后端应用服务器的请求次数,提高响应速度。你可以启用HTTP缓存来缓存静态资源,以及启用会话管理器来缓存会话数据。

打开Tomcat的配置文件 server.xml,该文件通常位于 Tomcat 的 conf 目录下。

元素中添加缓存配置。你可以在 元素中添加 元素,然后在其中配置缓存属性。

下面是一个简单的示例,将缓存设置为最大存储5000个对象,并且每个对象最大空闲时间为60分钟:

<Context>
    <Resources cachingAllowed="true" cacheMaxSize="5000" cacheTTL="3600000"/>
</Context>

cachingAllowed:设置为 true 表示允许缓存。
cacheMaxSize:指定缓存的最大对象数量。
cacheTTL:指定缓存对象的最大空闲时间,单位为毫秒。

5、启用压缩

启用Tomcat的压缩功能可以减少传输的数据量,提高页面加载速度。你可以启用HTTP压缩来压缩响应的内容,以及启用Gzip压缩来压缩静态资源文件(如CSS、JavaScript)。

打开Tomcat的配置文件 server.xml,该文件通常位于 Tomcat 的 conf 目录下。

找到 元素,通常对应HTTP/1.1协议的连接器配置。

元素中添加以下属性来启用压缩功能:

compression:设置为 on 启用压缩。

compressableMimeType:指定需要压缩的MIME类型,多个类型以逗号分隔。

示例配置如下:

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443"
           compression="on"
           compressableMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript,application/json,application/xml" />