使用 setenv 配置文件管理 Tomcat 的自定义环境变量

1、背景描述

有时候,我们会在 catalina.bat 或 catalina.sh 文件中,自定义一些环境变量,例如额外指定 JDK 路径或设置 JVM 参数。

实际上,直接在 catalina.bat 或 catalina.sh 文件中,自定义环境变量的做法,是不规范的。

因为在对 Tomcat 进行(小版本)升级时,新版本的 catalina.bat 或 catalina.sh 文件,会覆盖旧版本的文件,从而导致原来的自定义环境变量失效。

对此,Tomcat 官方已在 catalina.bat(或 catalina.sh )文件的注释中(见下图),提示使用 setenv.bat(或 setenv.sh )配置文件(需额外创建)来保存自定义环境变量。

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

2、指定JDK路径

2.1、Windows系统

2.1.1、指定JDK路径之前

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,在配置 Tomcat 的自定义环境变量之前,Tomcat 默认使用(Windows)系统环境变量所配置的 JDK 路径。

2.1.2、指定JDK路径命令

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,先在 Tomcat 的 bin 目录下,创建一个 setenv.txt 文件,编辑好指定JDK路径的命令之后,再将 txt 后缀更改为 bat 即可。

set JAVA_HOME=自定义JDK路径 

2.1.3、指定JDK路径之后

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,通过 setenv.bat 文件,成功使用了指定的 JDK 路径。

2.2、Linux系统

注意:在Linux系统中,Tomcat 使用的是 JRE 路径,因此需要指定的是 JRE_HOME 而不是 JAVA_HOME 。

2.2.1、指定JRE路径之前

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,在配置 Tomcat 的自定义环境变量之前,Tomcat 默认使用(Linux)系统环境变量所配置的 JDK 路径。

2.2.2、指定JRE路径命令

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,先在 Tomcat 的 bin 目录下,创建一个 setenv.sh 文件,编辑好指定JRE路径的命令之后,再将该脚本文件添加执行权限(chmod +x setenv.sh)即可。

JRE_HOME="自定义jre路径" 

2.2.3、指定JRE路径之后

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,通过 setenv.sh 文件,成功使用了指定的 JRE 路径。

3、设置JVM参数

3.1、Windows系统

3.1.1、设置JVM参数命令

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

-Xms:设置 JVM 初始化时内存;

-Xmx:设置 JVM 最大可用内存;

这两个值一般设置相同的大小,以避免每次垃圾回收完成后 JVM 重新分配内存。

set JAVA_OPTS=-Xms自定义大小 -Xmx自定义大小 

3.1.2、设置JVM参数之后

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,通过 setenv.bat 文件,成功使用了设置的 JVM 参数。

3.2、Linux系统

3.2.1、设置JVM参数命令

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

-Xms:设置 JVM 初始化时内存;

-Xmx:设置 JVM 最大可用内存;

这两个值一般设置相同的大小,以避免每次垃圾回收完成后 JVM 重新分配内存。

JAVA_OPTS="-Xms自定义大小 -Xmx自定义大小" 

3.2.2、设置JVM参数之后

使用 setenv 配置文件管理 Tomcat 的自定义环境变量

如上图所示,通过 setenv.sh 文件,成功使用了设置的 JVM 参数。

本文参考

【1】【zno2】【setenv.bat】【博客园】【2016-10-17】

【2】【song854601134】【 tomcat中管理环境变量之setenv.sh】【CSDN】【2024-05-31】

【3】【且行且思】【Tomcat通过setenv.bat指定jdk和jre(相对路径)】【博客园】【2023-06-28】

【4】【yuer!】【如何修改linux下tomcat指定的jdk路径】【博客园】【2020-04-02】

发表评论

相关文章