`

CATALINA_BASE和CATALINA_HOME的区别

阅读更多

 

转自: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管理端口用不同的端口号)

 

分享到:
评论

相关推荐

    Tomcat启动分析(我们为什么要配置CATALINA_HOME环境变量)

    同时,为了方便管理,一般建议只将CATALINA_HOME和JAVA_HOME添加到系统的环境变量中,并保持它们的路径设置与Tomcat和JDK的实际安装路径一致。如果Tomcat或JDK的安装路径发生了变化,需要及时更新环境变量的值。 ...

    tomcat_80.rar

    1. 移除了对换变量中配置的CATALINA_HOME和CATALINE_BASE的依赖,运行startup.bat就一定是启动当前的tomcat。 2. 删除了webapps里的所有文件夹,避免未删除的ROOT目录与server.xml中的context配置发生冲突可能导致...

    启动多个tomcat

    - 修改`bin/startup.sh`和`bin/shutdown.sh`脚本中的环境变量,使其引用正确的`CATALINA_HOME`和`CATALINA_BASE`。例如: ```bash #!/bin/bash while [ -h "$PRG" ]; do ls=$(ls -ld "$PRG") link=$(echo "$ls...

    ansible-role-tomcat-multi:最完整的Tomcat安装,支持,init.d脚本,应用程序命名,大页面,强化,漂亮的错误页面,sha512哈希密码,JMX配置,多个Tomcat版本,分离的catalina_home和多个catalina_base(很快)

    最完整的Tomcat安装,支持,init.d脚本,应用程序命名,巨大页面,强化,漂亮的错误页面,sha512哈希密码,JMX配置,多个Tomcat版本,分开的catalina_home和caralina_base。 目录 要求 没有。 安装 ansible-galaxy ...

    Tomcat7环境变量配置

    CATALINA_HOME与CATALINA_BASE的区别 - **CATALINA_HOME**:指向Tomcat的安装目录,是Tomcat的主目录。 - **CATALINA_BASE**:在多实例部署场景下,每个实例可以有单独的`CATALINA_BASE`目录。这样可以实现多个独立...

    一台电脑上两个tomcat

    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 ...

    同一windows启动多个tomcat.docx

    Tomcat 的环境变量主要包括 CATALINA_HOME 和 CATALINA_BASE 两个变量。其中,CATALINA_HOME 变量用于指定 Tomcat 的安装目录,而 CATALINA_BASE 变量用于指定 Tomcat 的基础目录。了解这两个变量的作用非常重要,...

    tomcat环境变量设置

    主要涉及的环境变量包括`TOMCAT_HOME`、`CATALINA_HOME`、`CATALINA_BASE`以及`JAVA_HOME`等。 ### 二、`TOMCAT_HOME`与`CATALINA_HOME` `TOMCAT_HOME`通常被定义为Tomcat的根目录路径,即Tomcat的安装目录。这个...

    linux系统下的tomcat9.0.7安装文件

    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和Tomcat环境变量配置

    通过设置 `JAVA_HOME`、`CATALINA_HOME`、`CATALINA_BASE` 及 `CLASSPATH` 等环境变量,可以有效地管理Java和Tomcat的依赖关系,并使开发过程更加顺畅。同时,确保这些环境变量的正确配置也是进行Java Web应用开发的...

    Java环境变量和Tomcat配置

    虽然 **CATALINA_HOME** 和 **CATALINA_BASE** 在很多情况下是相同的,但在某些情况下,它们可能不同。例如,在部署多个Tomcat实例时,每个实例可能会有自己的 **CATALINA_BASE**,但所有实例都共享同一个 **...

    tomcat 64位

    在安装Tomcat之前一定要先安装好java运行...1,新建变量名:CATALINA_BASE,变量值:C:\tomcat 2,新建变量名:CATALINA_HOME,变量值:C:\tomcat 3,打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin

    catalina-jmx-remote.rar

    5. **配置权限文件**:创建`$CATALINA_HOME/conf/jmxremote.access`和`$CATALINA_HOME/conf/jmxremote.password`文件,定义哪些用户可以进行远程访问以及他们的密码。 6. **重启Tomcat**:完成上述配置后,重启...

    Linux安装两个tomcat

    3. **配置环境变量**:编辑`/etc/profile`,为每个Tomcat实例添加`CATALINA_BASE`和`CATALINA_HOME`,并创建额外的环境变量,如`CATALINA_2_BASE`和`CATALINA_2_HOME`。 4. **修改`server.xml`**:打开每个Tomcat...

    JDK+TOMCAT环境变量

    `CATALINA_HOME`通常与`CATALINA_BASE`相同,但在需要同时运行多个Tomcat实例的情况下,可以通过不同的`CATALINA_BASE`来区分不同实例,而`CATALINA_HOME`则保持不变。 #### 3. CLASSPATH **定义:** `CLASSPATH`...

    教你如何安装多个Tomcat

    例如,对于第二个Tomcat,可以创建名为`CATALINA_HOME2`和`CATALINA_BASE2`的变量,将它们的值分别设置为新Tomcat的安装目录和工作目录。 4. **修改启动脚本**:打开新Tomcat实例的`startup.bat`文件,将其中的`...

    Tomcat使用Log4j输出catalina.out日志

    3. 设置日志文件的存储路径和编码:需要确保日志文件的存储路径${catalina.base}/logs/catalina.out是可写的,并且设置日志文件的编码为UTF-8,确保日志的兼容性。 4. 定义日志输出格式:通过配置log4j.appender....

    jkd+tomcat安装环境配置

    通过设置 `JAVA_HOME`、`JDK_HOME`、`CATALINA_BASE`、`CATALINA_HOME`、`CLASSPATH` 和 `Path` 等环境变量,可以确保开发工具和运行时环境能够正确识别和使用 JDK 和 Tomcat。这些步骤有助于简化日常的开发流程,并...

    JDK、TOMCAT、ECLIPSE配置

    - `CATALINA_BASE`和`CATALINA_HOME`都指向Tomcat的安装路径。 - `CATALINA_HOME`通常用于表示Tomcat的整体安装位置,而`CATALINA_BASE`则可以针对每个实例单独配置。 - 在`PATH`中添加`%CATALINA_HOME%\lib`和`%...

Global site tag (gtag.js) - Google Analytics