CATALINA_HOME与CATALINA_BASE


11

对于Ubuntu为什么会设置CATALINA_BASE环境变量,使其与有所不同,我找不到确切的答案CATALINA_HOME。我发现此文档表明不设置CATALINA_BASE将使其等同于CATALINA_HOME。该文档还建议进行设置CATALINA_BASE以使多个实例可用。

但是,我似乎找不到任何能解释这一点的东西。大概,CATALINA_HOME长时间运行一次已经很不错了,但是Ubuntu切换了。

我在AskUbuntu上找到了一个具有启发性的答案的问题,但在vs. 上并没有太多具体说明。这个问题确实暗示了“的appBase”参数,这是记录在文档的tomcat6在配置文件中的主机容器英寸CATALINA_HOMECATALINA_BASE

问题是:为什么这两个变量分开?什么时候应该分开?这允许管理员做什么?然后将什么放入每个目录?这两个变量什么时候应该相同?ASF对标准做法有何建议?


Answers:


12

为什么将这两个变量分开?

catalina.home指向公共信息的位置。
catalina.base指向保存所有实例特定信息的目录。

因此,您有1个房屋,可以有1个以上的基地。

什么时候应该分开?这两个变量什么时候应该相同?

如果您有1个tomcat,则可以将它们设置为相同的值,但是良好的做法会建议您提前计划并分开进行:您永远都不知道是否需要多个tomcat。Ubuntu因其更具逻辑性而开始遵循这种思维方式:它使运行2个以上的tomcats更容易,但并没有禁用运行1个tomcat,因为将它们设置为相同的值将要求每个人都编辑基值。使它们保持差异更有意义。

这允许管理员做什么?

每个tomcat实例可以拥有自己的应用程序,允许同时运行多个tomcat。

然后将什么放入每个目录?

家中有binairy。
基本包含conf,日志,webapp,工作和临时文件。每个tomcat实例1个。


4

CATALINA_HOMECATALINA_BASE

如果您要运行多个实例,则需要两个变量,否则只需CATALINA_HOME

换句话说:CATALINA_HOME是必需的,CATALINA_BASE是可选的。

CATALINA_HOME 表示Tomcat安装的根目录。

(可选)可以通过$CATALINA_BASE为每个实例定义Tomcat来为多个实例配置。如果未配置多个实例,$CATALINA_BASE则与相同$CATALINA_HOME

请参阅:Apache Tomcat 7-简介

单独运行,CATALINA_HOMECATALINA_BASE记录在RUNNING.txt中,其中说:

CATALINA_HOMECATALINA_BASE环境变量用于指定的Apache Tomcat的位置和它的活动配置的位置,分别。

您无法在脚本中配置CATALINA_HOMECATALINA_BASE变量 setenv,因为它们用于查找该文件。

例如:

(4.1)可以通过执行以下命令之一来启动Tomcat:

  %CATALINA_HOME%\bin\startup.bat         (Windows)

  $CATALINA_HOME/bin/startup.sh           (Unix)

要么

  %CATALINA_HOME%\bin\catalina.bat start  (Windows)

  $CATALINA_HOME/bin/catalina.sh start    (Unix)

多个Tomcat实例

在许多情况下,希望在同一服务器上的多个用户之间共享一个Tomcat二进制发行版的单个副本。为此,可以将CATALINA_BASE 环境变量设置为包含“个人” Tomcat实例文件的目录。

当使用单独的CATALINA_HOME和运行时CATALINA_BASE,文件和目录按以下方式拆分:

CATALINA_BASE

  • bin -仅限:setenv.sh(* nix)或setenv.bat(Windows),tomcat-juli.jar
  • conf -服务器配置文件(包括server.xml)
  • lib -图书馆和课程,如下所述
  • logs -日志和输出文件
  • webapps -自动加载的Web应用程序
  • work -Web应用程序的临时工作目录
  • temp -JVM用于临时文件的目录>

CATALINA_HOME

  • bin -启动和关闭脚本
  • lib -图书馆和课程,如下所述
  • endorsed-覆盖标准“认可标准”的库。默认情况下不存在。

如何检查

检查您的身份CATALINA_BASE和最简单的方法CATALINA_HOME是运行startup.sh,例如:

$ /usr/share/tomcat7/bin/startup.sh
Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7

您还可以通过dpkg以下工具(Debian / Ubuntu)检查Tomcat文件的安装位置:

dpkg -L tomcat7-common

3

除了是运行两个tomcat实例的最佳方法之外,它还使更新更容易。

我正在使用此设置。

<!-- language: bash -->

/opt/apache-tomcat-7.0-32
/opt/apache-tomcat-7.0.39
/opt/apache-tomcat-7       (simbolic link to apache-tomcat-7.0.32)

CATALINA_HOME = / opt / apache-tomcat-7

/srv/user_deploys/tomcat_product_a
/srv/user_deploys/tomcat_product_b

CATALINA_BASE 指向一个或另一个部署目录。

基本的二进制文件和库上/opt/只是复制server.xmlweb.xml(和其他一些文件,阅读文档,请),并创建目录垃圾桶,日志,web应用,温度,工作(RTLM,L为lovelly,请)

您可以通过CATALINA_HOME在每个实例的$ CATALINA_BASE / bin / setenv.sh文件上进行修改来更新tomcat二进制文件,也可以只修改符号链接,即可“全局”更新二进制文件

即使只有一个实例,更新也更容易。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.