关于CATALINA_HOME 和 CATALINA_BASE 的区别

官方文档

以下内容从官方复制出来的

目录和文件

这些是一些重要的tomcat目录:

  1. /bin -(启动,关闭和其他脚本)

  2. /conf -配置文件和相关DTD,这里最重要的文件是server.xml,它是容器的主要配置文件.

  3. /logs - 日志文件默认目录.

  4. /webapps - Web应用程序的目录.

CATALINA_HOME 和 CATALINA_BASE

在整个文档中,都引用了以下两个属性:

  1. CATALINA_HOME: 表示Tomcat安装的根目录,例如 /home/tomcat/apache-tomcat-9.0.10 or C:\Program Files\apache-tomcat-9.0.10. 

  2. CATALINA_BASE: 表示特定Tomcat实例的运行时配置的根。 如果要在一台计算机上拥有多个Tomcat实例,请使用CATALINA_BASE属性

    1. 如果将属性设置为其他位置,则
      CATALINA_HOME位置将包含静态源,例如.jar文件或二进制文件。
      CATALINA_BASE位置包含配置文件,日志文件,已部署的应用程序和其他运行时要求。

为什么要使用CATALINA_BASE

默认情况下,CATALINA_HOME和CATALINA_BASE指向同一目录。需要在一台计算机上运行多个Tomcat实例时,手动设置CATALINA_BASE。
这样做具有以下好处:

  1. 升级到较新版本的Tomcat的管理更加轻松.因为所有具有单个CATALINA_HOME位置的实例共享一组.jar文件和二进制文件,所以您可以轻松地将文件升级到较新版本,并使用同一CATALIA_HOME目录将更改传播到所有Tomcat实例,也就是只用升级CATALINA_HOME目录下的文件就可以升级所有的Tomcat.

  2. 避免重复相同的静态.jar文件.

  3. 共享某些设置的可能性,例如setenv shell或bat脚本文件(取决于您的操作系统).

Contents of CATALINA_BASE(CATALINA_BASE的内容)

在开始使用CATALINA_BASE之前,请首先考虑并创建CATALINA_BASE使用的目录树。请注意,如果未创建所有建议的目录,则Tomcat会自动创建目录。如果由于权限问题而无法创建必要的目录,Tomcat将无法启动,或者可能无法正常运行.

考虑以下目录列表:

  1. bin: 包含setenv.sh,setenv.bat和tomcat-juli.jar文件的bin目录
    Recommended: No(不推荐).
    查找顺序:首先检查CATALINA_BASE;向CATALINA_HOME提供后备

  2. lib: 具有更多资源的lib目录将添加到classpath上.
    Recommended: Yes(推荐), 如果您的应用程序依赖于外部库.
    查找顺序:首先检查CATALINA_BASE; 然后加载CATALINA_HOME.

  3. logs: 特定于实例的日志文件的日志目录.
    Recommended: Yes(推荐)

  4. webapps: 用于自动加载的Web应用程序的webapps目录
    Recommended: Yes(推荐), 如果您想部署应用程序
    查找顺序:仅CATALINA_BASE

  5. work: 工作目录,其中包含已部署的Web应用程序的临时工作目录。
    Recommended: Yes(推荐)

  6. temp: JVM用于临时文件的temp目录.
    Recommended: Yes(推荐)

我们建议您不要更改tomcat-juli.jar文件. 但是,如果您需要自己的日志记录实现,则可以将CATALINA_BASE位置中的tomcat-juli.jar文件替换为特定的Tomcat实例.

我们还建议您将所有配置文件从CATALINA_HOME的conf目录复制到CATALINA_BASE的conf目录。如果CATALINA_BASE中缺少配置文件,则不会回退到CATALINA_HOME。因此,这可能会导致故障.

至少CATALINA_BASE必须包含以下两个文件:
conf/server.xml
conf/web.xml

How to Use CATALINA_BASE(如何使用CATALINA_BASE)

CATALINA_BASE属性是一个环境变量。您可以在执行Tomcat启动脚本之前进行设置,例如:

  • On Unix: CATALINA_BASE=/tmp/tomcat_base1 bin/catalina.sh start

  • On Windows: CATALINA_BASE=C:\tomcat_base1 bin/catalina.bat start

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值