转自:https://www.jingjing.pro/catalina_base%E5%92%8Ccatalina_home%E7%9A%84%E5%8C%BA%E5%88%AB/
到底CATALINA_HOME和CATALINA_BASE有什么区别呢,之前因为都是小打小闹的在服务器上安装一个tomcat就得了,然后根据前人的配置,将CATALINA_HOME和CATALINA_BASE两个值设为了tomcat的目录(其实此处描述很不精确),今天专门百度了一下CATALINA_BASE,查找了不少资料,终于搞明白到底这两者之间有什么区别。
Tomcat官网的英文介绍是这样的:The description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5, and is the base directory against which most relative paths are resolved. However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory, you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.
从这段描述可以看出CATALINA_HOME和CATALINA_BASE的区别。简单的说,CATALINA_HOME是Tomcat的安装目 录,CATALINA_BASE是Tomcat的工作目录。如果我们想要运行Tomcat的 多个实例,但是不想安装多个Tomcat软件副本。那么我们可以配置多个工作 目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。
以Tomcat6.0为例,其Tomcat目录结构如下:
bin (运行脚本) conf (配置文件) lib (核心库文件) logs (日志目录) temp (临时目录)
webapps (自动装载的应用程序的目录) work (JVM临时文件目录[java.io.tmpdir])
其中只有 bin 和 lib 目录被多个tomcat示例公用,其它目录conf、logs、temp、webapps和work 每个Tomcat实例必须拥有其自己独立的备份。
明白了上述关系就容易理解catalina.home和catalina.base的用途了:
catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录。
catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
仅运行一个Tomcat实例时,这两个属性指向的位置是相同的。
如果我们希望再运行另一个Tomcat实例,那么我们可以建立一个目录,把conf、logs、temp、webapps、work和shared拷贝 到该目录下,然后让CATALINA_BASE指向该目录即可。
在一台服务器上,可以运行多个tomcat实例,不需要安装多个tomcat,可以采用不同的用户,以scauidc用户为例,拷贝/usr/local/tomcat目录到/home/scauidc下,删除/home/scauidc/tomcat/bin子目录(此目录不需要),编辑/home/scauidc/.bash_profile文件,设置CATALINA_HOME指向刚才的安装目录/usr/local/tomcat,设置JAVA_HOME指向刚才的安装目录/usr/java/jdk。设置CATALINA_BASE指向/home/test/tomcat,设置CATALINA_OPTS跟/root/.bash_profile的一致(jmx管理端口用不同的端口号)
附:多实例tomcat公用工作目录实现(linux)
在一台服务器上,可以运行多个tomcat实例,不需要安装多个tomcat,可以采用不同的用户。
1、以scauidc用户为例,拷贝/usr/local/tomcat目录到/home/scauidc下
2、删除/home/scauidc/tomcat/bin子目录(此目录不需要)
3、编辑/home/scauidc/.bash_profile文件,设置CATALINA_HOME指向刚才的安装目录/usr/local/tomcat
4、设置JAVA_HOME指向刚才的安装目录/usr/java/jdk
5、设置CATALINA_BASE指向/home/scauidc/tomcat 6、设置CATALINA_OPTS跟/root/.bash_profile的一致(jmx管理端口用不同的端口号)
相关推荐
同时,为了方便管理,一般建议只将CATALINA_HOME和JAVA_HOME添加到系统的环境变量中,并保持它们的路径设置与Tomcat和JDK的实际安装路径一致。如果Tomcat或JDK的安装路径发生了变化,需要及时更新环境变量的值。 ...
2. Catalina.home 和 Catalina.base 的区别:Catalina.home 指向公用信息的位置,而 Catalina.base 指向每个 Tomcat 目录私有信息的位置。 3. 实际应用:在配置日志时,使用 Catalina.base 来指定日志文件的路径。 ...
1. 移除了对换变量中配置的CATALINA_HOME和CATALINE_BASE的依赖,运行startup.bat就一定是启动当前的tomcat。 2. 删除了webapps里的所有文件夹,避免未删除的ROOT目录与server.xml中的context配置发生冲突可能导致...
- 修改`bin/startup.sh`和`bin/shutdown.sh`脚本中的环境变量,使其引用正确的`CATALINA_HOME`和`CATALINA_BASE`。例如: ```bash #!/bin/bash while [ -h "$PRG" ]; do ls=$(ls -ld "$PRG") link=$(echo "$ls...
最完整的Tomcat安装,支持,init.d脚本,应用程序命名,巨大页面,强化,漂亮的错误页面,sha512哈希密码,JMX配置,多个Tomcat版本,分开的catalina_home和caralina_base。 目录 要求 没有。 安装 ansible-galaxy ...
CATALINA_HOME与CATALINA_BASE的区别 - **CATALINA_HOME**:指向Tomcat的安装目录,是Tomcat的主目录。 - **CATALINA_BASE**:在多实例部署场景下,每个实例可以有单独的`CATALINA_BASE`目录。这样可以实现多个独立...
CATALINA_BASE1=E:\software\apache-tomcat-7.0.47copy CATALINA_BASE=E:\software\apache-tomcat-7.0.47 CATALINA_HOME1=E:\software\apache-tomcat-7.0.47copy CATALINA_HOME=E:\software\apache-tomcat-7.0.47 ...
Tomcat 的环境变量主要包括 CATALINA_HOME 和 CATALINA_BASE 两个变量。其中,CATALINA_HOME 变量用于指定 Tomcat 的安装目录,而 CATALINA_BASE 变量用于指定 Tomcat 的基础目录。了解这两个变量的作用非常重要,...
主要涉及的环境变量包括`TOMCAT_HOME`、`CATALINA_HOME`、`CATALINA_BASE`以及`JAVA_HOME`等。 ### 二、`TOMCAT_HOME`与`CATALINA_HOME` `TOMCAT_HOME`通常被定义为Tomcat的根目录路径,即Tomcat的安装目录。这个...
CATALINA_HOME=/usr/local/tomcat/apache-tomcat-9.0.0.M4 CATALINA_BASE=/usr/local/tomcat/apache-tomcat-9.0.0.M4 PATH=$PATH:$CATALINA_BASE/bin export PATH CATALINA_BASE 保持并推出:wq! 具体安装请查阅...
通过设置 `JAVA_HOME`、`CATALINA_HOME`、`CATALINA_BASE` 及 `CLASSPATH` 等环境变量,可以有效地管理Java和Tomcat的依赖关系,并使开发过程更加顺畅。同时,确保这些环境变量的正确配置也是进行Java Web应用开发的...
虽然 **CATALINA_HOME** 和 **CATALINA_BASE** 在很多情况下是相同的,但在某些情况下,它们可能不同。例如,在部署多个Tomcat实例时,每个实例可能会有自己的 **CATALINA_BASE**,但所有实例都共享同一个 **...
在安装Tomcat之前一定要先安装好java运行...1,新建变量名:CATALINA_BASE,变量值:C:\tomcat 2,新建变量名:CATALINA_HOME,变量值:C:\tomcat 3,打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin
5. **配置权限文件**:创建`$CATALINA_HOME/conf/jmxremote.access`和`$CATALINA_HOME/conf/jmxremote.password`文件,定义哪些用户可以进行远程访问以及他们的密码。 6. **重启Tomcat**:完成上述配置后,重启...
3. **配置环境变量**:编辑`/etc/profile`,为每个Tomcat实例添加`CATALINA_BASE`和`CATALINA_HOME`,并创建额外的环境变量,如`CATALINA_2_BASE`和`CATALINA_2_HOME`。 4. **修改`server.xml`**:打开每个Tomcat...
`CATALINA_HOME`通常与`CATALINA_BASE`相同,但在需要同时运行多个Tomcat实例的情况下,可以通过不同的`CATALINA_BASE`来区分不同实例,而`CATALINA_HOME`则保持不变。 #### 3. CLASSPATH **定义:** `CLASSPATH`...
例如,对于第二个Tomcat,可以创建名为`CATALINA_HOME2`和`CATALINA_BASE2`的变量,将它们的值分别设置为新Tomcat的安装目录和工作目录。 4. **修改启动脚本**:打开新Tomcat实例的`startup.bat`文件,将其中的`...
3. 设置日志文件的存储路径和编码:需要确保日志文件的存储路径${catalina.base}/logs/catalina.out是可写的,并且设置日志文件的编码为UTF-8,确保日志的兼容性。 4. 定义日志输出格式:通过配置log4j.appender....
通过设置 `JAVA_HOME`、`JDK_HOME`、`CATALINA_BASE`、`CATALINA_HOME`、`CLASSPATH` 和 `Path` 等环境变量,可以确保开发工具和运行时环境能够正确识别和使用 JDK 和 Tomcat。这些步骤有助于简化日常的开发流程,并...