catalina.home和catalina.base

本文介绍了如何通过设置catalina.home和catalina.base属性来实现Tomcat的多实例部署,以此达到节省磁盘空间的目的。文章详细解释了这两个属性的作用,并指出了哪些目录可以被多个实例共享,哪些则需要独立。
catalina.home和catalina.base这两个属性仅在你需要安装多个Tomcat实例而不想安装多个软件备份的时候使用,这样能节省磁盘空间。
以Tomcat6.0为例,其Tomcat目录结构如下:
bin (运行脚本)
conf (配置文件)
lib (核心库文件)
logs (日志目录)
temp (临时目录)
webapps (自动装载的应用程序的目录)
work (JVM临时文件目录[java.io.tmpdir])
让我们看看这些目录那些可以被多个Tomcat实例公用,其实只有 bin 和 lib 目录,其它目录conf、logs、temp、webapps和work每个Tomcat实例必须拥有其自己独立的备份。
明白了上述关系就容易理解catalina.home和catalina.base的用途了。
catalina.home指向公用信息的位置,就是bin和lib的父目录。
catalina.base指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
仅运行一个Tomcat实例时,这两个属性指向的位置是相同的
### 配置 `${catalina.base}` 环境变量的方法 在 Linux 系统中,`catalina.base` 环境变量可以通过多种方式设置。以下是几种常见且推荐的配置方法: #### 方法一:通过 `setenv.sh` 文件配置 根据引用内容[^2],`catalina.sh` 脚本明确指出用户定制的环境变量不应直接写入 `catalina.sh` 文件中,而是应该创建一个名为 `setenv.sh` 的文件,并将其放置在 `$CATALINA_BASE/bin` 目录下。这种方式可以确保自定义配置与 Tomcat 默认脚本分离。 在 `setenv.sh` 文件中添加以下内容: ```bash export CATALINA_BASE=/path/to/your/tomcat/instance ``` 保存后,确保该文件具有可执行权限: ```bash chmod +x /path/to/your/tomcat/bin/setenv.sh ``` #### 方法二:直接修改 `catalina.sh` 脚本 虽然不推荐直接修改 `catalina.sh` 文件,但在某些情况下(如临时测试),可以直接在脚本中添加环境变量设置。例如,在 `catalina.sh` 文件的开头部分添加以下内容: ```bash CATALINA_BASE=/path/to/your/tomcat/instance export CATALINA_BASE ``` 这种方法的缺点是,当升级 Tomcat 时,可能需要重新调整脚本内容。 #### 方法三:通过操作系统的环境变量配置 如果希望在整个系统范围内设置 `catalina.base`,可以在系统的环境变量配置文件中进行设置。常见的配置文件包括: - `/etc/profile` - `~/.bashrc` - `~/.bash_profile` 以 `~/.bashrc` 为例,添加以下内容: ```bash export CATALINA_BASE=/path/to/your/tomcat/instance ``` 保存后,运行以下命令使配置生效: ```bash source ~/.bashrc ``` #### 方法四:通过启动命令直接指定 在启动 Tomcat 服务时,可以直接通过命令行参数指定 `catalina.base`。例如: ```bash CATALINA_BASE=/path/to/your/tomcat/instance /path/to/your/tomcat/bin/catalina.sh start ``` 这种方式适用于动态调整环境变量的场景,但每次启动都需要手动指定。 #### 方法五:结合 JVM 参数设置 如果需要将 `catalina.base` 作为 JVM 系统属性传递,可以在启动脚本中添加 `-D` 参数。例如,在 `catalina.sh` 中找到 JVM 启动参数部分(通常为 `JAVA_OPTS` 或 `CATALINA_OPTS`),并添加以下内容: ```bash JAVA_OPTS="$JAVA_OPTS -Dcatalina.base=/path/to/your/tomcat/instance" ``` 保存后,重启 Tomcat 即可。 --- ### 示例代码 以下是一个完整的 `setenv.sh` 文件示例: ```bash #!/bin/bash # 设置 catalina.base 其他相关变量 export CATALINA_BASE=/path/to/your/tomcat/instance export JAVA_HOME=/usr/java/jdk1.8.0_281 export JAVA_OPTS="$JAVA_OPTS -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m" ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值