首页 > 其他分享 >关于CATALINA_HOME 和 CATALINA_BASE 的区别

关于CATALINA_HOME 和 CATALINA_BASE 的区别

时间:2022-08-24 11:33:45浏览次数:92  
标签:CATALINA Tomcat tomcat BASE HOME 目录

官方文档

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

目录和文件

这些是一些重要的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

标签:CATALINA,Tomcat,tomcat,BASE,HOME,目录
From: https://www.cnblogs.com/xysgo/p/16619263.html

相关文章

  • echarts异形图柱状图,电量象形,base64
    varbgImg='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAF+CAYAAADNzDlVAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAilJREFUeNrs1rENwjAURdEfC0p......
  • base64
    base64加密后字符串长度参考:设字符串长度为n,长度为⌈n/3⌉*4⌈⌉代表上取整一篇看懂:http://www.ruanyifeng.com/blog/2008/06/base64.html......
  • 由LOG_PATH_IS_UNDEFINED/LOG_HOME_IS_UNDEFINED引发的问题
    使用SpringBoot+LogBack的项目在程序启动之后总是在项目根目录产生一个 LOG_PATH_IS_UNDEFINED 的文件夹,原因是Spring容器在Logback初始化之后设置 LOG_PATH ,......
  • python base64 加密 解密
    做了安全机制的系统,在用户登录的时候,会采用一系列措施保护用户信息,防止程序被攻击,比如:将用户输入的密码加密处理,在控制台看请求接口看到的密码是加密过的密码,而不是原......
  • 关于EasyCVR平台Ehome协议接入设备出现停止启用现象的原因分析
    EasyCVR平台支持多类型设备、多协议方式接入,包括市场主流标准协议国标GB/T28181、RTMP、RTSP/Onvif协议等,以及厂家私有协议,如海康SDK、大华SDK、海康Ehome等。平台可将接入......
  • 快速掌握 Base 64 | 学 Java 密码系列
    Java密码系列-Java和JSBase64Base64不属于密码技术,仅是编码方式。但由于在Java、JavaScript、区块链等出现的频率较高,故在本系列文章中首先分享Base64编码技......
  • Arch Linux的error: failed to synchronize all databases (unable to lock database)
    我一开始是没有问题的,只是使用了reflector,然后执行reflector--verbose-l20-phttp--sortrate--save之后,我就有了20个离我所在路由器最快的连接,事实上这种做法固然没......
  • Android文字基线Baseline算法的使用讲解
    引言Baseline是文字绘制时所参照的基准线,只有先确定了Baseline的位置,我们才能准确的将文字绘制在我们想要的位置上。Baseline的概念在我们使用TextView等系统控件直接设置......
  • Base64编码的原理
      Base64编码可以对字符串(中英文),字节集进行编码转换,核心思想就是3个字节一组进行处理,到最后不足3个字节,用00代替,被代替的用字符=来表示。下面举三个例子就能立马明白:例......
  • 实习记录 base
    好久没有在这里写文章了,在这边很少发文章,互动也比较少,没什么人关注,那就肆意地记录一点实习的插曲吧。曾经梦想的生活是这样的:在公司里,倒杯咖啡或是其他喜欢的饮品......