【问题标题】:TOMCAT_HOME vs CATALINA_HOMETOMCAT_HOME 与 CATALINA_HOME
【发布时间】:2016-05-28 05:38:49
【问题描述】:

我最近一直在更新一些文档(我们从 Apache Tomcat 7 迁移到 8)并注意到对 TOMCAT_HOME 的引用。比如创建一个环境变量TOMCAT_HOME。如果我是正确的,TOMCAT_HOME 在版本 3 中几乎已被弃用,取而代之的是 CATALINA_HOMECATALINA_BASE?但是,我找不到任何关于此或何时使用TOMCAT_HOME 而不是CATALINA_HOME 的权威文章。当然我没有设置两者!?对此有明确的答案吗?流行的第三方应用程序是否会寻找 TOMCAT_HOME 而不是 CATALINA_HOME

【问题讨论】:

    标签: tomcat tomcat8


    【解决方案1】:

    没有TOMCAT_HOME,也没有。只有CATALINA_* -- 仍在 Tomcat 9 中。我认为 Mark Thomas 出于兼容性原因没有触及它。

    不要发明你自己的环境变量——它们只会引起混乱。

    【讨论】:

    • 我认为说没有“TOMCAT_HOME”是不正确的。查看这些旧链接:redhat.com/archives/redhat-ccm-list/2004-April/msg00040.htmlarchive.oreilly.com/pub/a/onjava/2001/03/29/tomcat.html?page=2。虽然这些是档案中的旧链接,但它们都引用了“TOMCAT_HOME”。似乎在某些时候它被 CATALINA_HOME 弃用了?
    • @DavidR 这甚至是 5.0 之前的版本。太老了,不能作为参考
    • 我已经接受了您的回答,因为它是最好的回答,但我认为如果您更新它以说明 TOMCAT_HOME 很久以前已被弃用,它会更完整。我这样说是因为我认为唯一会发现此 QA 有用的人是那些发现自己在他们接管的项目中查看 TOMCAT_HOME 变量并想知道如何处理它们的人(就像我一样)。
    • @DavidR Tomcat 5.0 已发布ten years ago。不太可能有人会接触 Tomcat 上比这更旧的软件。
    • 你会惊讶米哈尔
    【解决方案2】:

    Tomcat 分为两部分。一部分对所有 Tomcat 实例都是通用的。它包含诸如 bin 和 lib 目录之类的内容。

    另一部分是按实例复制的。它包含工作、临时和日志目录。还有 conf,它是定义给定 Tomcat 实例使用哪些端口的 server.xml。

    因此,要运行(和启动/停止)多个 Tomcat 实例,您不再将 CATALINA_HOME 和 CATALINA_BASE 指向同一个“TOMCAT_HOME”目录,而是为所有 Tomcat 设置一个 CATALINA_HOME,为每个 Tomcat 设置一个单独的 CATALINA_BASE。

    如果您在单个主机上运行多个 Tomcat 实例,则应将 CATALINA_BASE 设置为适合每个实例的 .../tomcat_instance1 或 .../tomcat_instance2 目录,并将 CATALINA_HOME 环境变量设置为通用 Tomcat安装,其文件将在两个实例之间共享。

    【讨论】:

      猜你喜欢
      • 2012-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-26
      • 1970-01-01
      • 2018-03-16
      • 2012-06-01
      • 1970-01-01
      相关资源
      最近更新 更多