TOMCAT_HOME 与 CATALINA_HOME

标签 tomcat tomcat8

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

最佳答案

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 环境变量设置为公共(public) Tomcat其文件将在两个实例之间共享的安装。

关于TOMCAT_HOME 与 CATALINA_HOME,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492396/

相关文章:

java - JBoss EAP 7(beta) 找不到 tomcat jar

java - 在 Tomcat 中启用飞行记录器会导致 "Error when initializing JFR"

java - 访问根网站时 session 过期

tomcat - 动态配置tomcat服务器?

eclipse - 无法在 Eclipse (Mac OS X) 中启动 Tomcat - java.net.BindException : Can't assign requested address

rest - 在部署在 Tomcat 中的 Spring 启动应用程序中,没有从 @ExceptionHandler 返回 @ResponseBody

java - Servlet appServlet 目前不可用(SpringMVC)

java - Tomcat8 部署时挂起

tomcat - 多个 tomcat 实例更新 - 如何?

java - REST API Jersey Glassfish 不序列化 json