关于CATALINA_HOME 和 CATALINA_BASE 的区别

2023-10-26

官方文档

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

目录和文件

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于CATALINA_HOME 和 CATALINA_BASE 的区别 的相关文章

随机推荐

  • Redis系列之客户端Redisson

    概述 官方推荐的客户端 支持Redis单实例 Redis哨兵 Redis Cluster Redis master slave等各种部署架构 GitHub 功能 分布式锁 分布式锁 使用Redisson提供的分布式锁的一个最常见场景 应用部
  • TCP/UDP/ARP/DNS/HTTP/帧的包头解析(保姆级分析)

    各种包的分析总结 TCP包的分析 包括使用wireshark进行抓包的分析 第一行 2个字节表示源端口 2个字节表示目的端口 0 65535 第二行 序列号 保证数据的顺序 第三行 确认序号 确保自己已经收到了 第四行 首部长度 数据偏移
  • Jdbc的简单封装

    由于操作Jdbc的代码重复度过高 所以抽取Jdbc工具类 JDBCUtils 目的 简化后期的操作 分析 1 抽取方法获取注册和连接对象 需求 不想传递参数 麻烦 还得保证工具类的通用性 解决方案 配置文件 通过定义一个jdbc prope
  • 虚拟机VMware 配置win7 安装

    1 首先需要下载一个VMware 2 接着下载一个Windows7的镜像系统 下载地址 MSDN 我告诉你 做一个安静的工具站 我的MSDN MSDN原版系统 MSDN镜像 MSDN ISO下载 3 这个好了之后就可以去这个网址下看安装教程
  • Python

    目录 1 以特殊格式处理连续增加的数字 排序 选项代码 2 正则表达式匹配 递归 字符串 示例 1 示例 2 示例 3 示例 4 示例 5 提示 选项代码 3 地下城游戏 数组 动态规划 选项代码 有调整 补充测试代码 1 以特殊格式处理连
  • MySQL创建用户与授权(转)

    一 创建用户 命令 CREATE USER username host IDENTIFIED BY password 说明 username 你将创建的用户名 host 指定该用户在哪个主机上可以登陆 如果是本地用户可用localhost
  • LINUX学习------Linux自动化运维——Docker容器

    Docker介绍 Docker 是一个开源的应用容器引擎 基于 Go 语言 并遵从 Apache2 0 协议开源 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级 可移植的容器中 然后发布到任何流行的 Linux 机器上 也可
  • AIX7.2系统安装openssh7.5

    目录 前言 备份当前版本的ssh文件 创建openssh安装包目录 进入目录解压 开始安装 前言 最开始对服务器做过一次安全检查 查出openssh的scp存在高危漏洞 于是就把包含scp服务的openssh client卸载了 后来再做安
  • VSCode 的 C/C++ 调试环境的 launch.json、 tasks.json 文件

    launch json Configuring tasks json for C C debugging author huihut repo https gist github com huihut 9548fe7e1084cf8e844
  • 在Bottle框架中返回静态文件和JSON对象的方法

    Bottle是一个轻量级的Python Web框架 提供了简单而灵活的方式来构建Web应用程序 在Bottle框架中 我们可以使用以下方法来返回静态文件和JSON对象 返回静态文件 要返回静态文件 我们可以使用static file函数 该
  • 交叉编译-18:解决arm-none-eabi-gcc交叉编译问题

    在项目中使用arm none eabi gcc交叉编译链编译程序时报错 checking host system type arm none eabi checking for a BSD compatible install usr bi
  • Docker进阶学习:其他命令以及扩展

    Docker Stack docker compose 单机部署项目 docker stack 集群部署 单机 docker compose up d wordpress yaml 集群 docker stack deploy wordpr
  • sqlserver 2012中实现字符串连接的新方法

    sqlserver 2012之前的版本 处理not null字符 DECLARE t1 varchar 10 a DECLARE t2 varchar 10 b DECLARE t3 varchar 10 c DECLARE t4 varc
  • 在线json解析工具 在线js解析加密混合工具

    https www sojson com json解析工具 js工具 https www jsjiami com tool
  • 风车IM即时通讯聊天系统源码_聊天APP_附APP_带安装教程

    风车IM即时通讯聊天系统源码 聊天APP 附APP 带安装教程 风车im 是一款独立服务器部署的即时通讯解决方案 可以帮助你快速拥有一套自己的移动社交 企业办公 多功能业务产品 独立部署 加密通道 牢牢掌握通讯信息 前端开发语言 VUE 安
  • kafka集群部署(最新版本kafka_2.13-3.1.0)

    集群环境 节点名 ip地址 OS版本 部署服务 broker信息 kafka01 192 168 96 10 CentOS Linux release 7 9 2009 Core jdk zookeeper kafka broker 0 k
  • Python字典及基本操作(超级详细)

    字典也是 Python 提供的一种常用的数据结构 它用于存放具有映射关系的数据 比如有份成绩表数据 语文 79 数学 80 英语 92 这组数据看上去像两个列表 但这两个列表的元素之间有一定的关联关系 如果单纯使用两个列表来保存这组数据 则
  • 一文教你懂得什么什么是EMC(电磁兼容)

    EMC 电磁兼容 是什么 EMC 电磁兼容 一直是电路设计和PCB设计中的难题 EMS是指设备在电磁环境中可以正常工作并且不对其它的设备造成干扰 EMS可以分为两部分 一个是EMI 电磁干扰 一个是EMS 电磁敏感度 EMI是设备本身对于其
  • qt for android存储文本文件到本地

    本博主要分享如何用qt for android 非qml形势存储文本文件到本地 本来以为很麻烦 后来发现和qt在window上使用是一样的 只是用手机存储excel应该要麻烦一些或者不行 但是我是用的是t xt文件 所以很容易就实现了这个功
  • 关于CATALINA_HOME 和 CATALINA_BASE 的区别

    官方文档 以下内容从官方复制出来的 目录和文件 这些是一些重要的tomcat目录 bin 启动 关闭和其他脚本 conf 配置文件和相关DTD 这里最重要的文件是server xml 它是容器的主要配置文件 logs 日志文件默认目录 we