Java Tomcat-CATALINA_基和CATALINA_主变量

Java Tomcat-CATALINA_基和CATALINA_主变量,java,tomcat,environment-variables,Java,Tomcat,Environment Variables,我在同一台服务器(Linux)上运行了多个tomcat 6实例,它可以正常工作。我正试图找出设置CATALINA_HOME和CATALINA_BASE变量的标准做法 在我的tomcat安装中,我将CATALINA_HOME设置为指向一个“公共”文件夹(比如/tomcat6),并且CATALINA_BASE变量根据实例名而变化(比如/tomcat_instance1,/tomcat_instance2) 我的问题是: 我真的需要两个变量吗 或者我可以只买一个CATALINA_HOME然后扔掉它吗

我在同一台服务器(Linux)上运行了多个tomcat 6实例,它可以正常工作。我正试图找出设置
CATALINA_HOME
CATALINA_BASE
变量的标准做法

在我的tomcat安装中,我将
CATALINA_HOME
设置为指向一个“公共”文件夹(比如
/tomcat6
),并且
CATALINA_BASE
变量根据实例名而变化(比如
/tomcat_instance1
/tomcat_instance2

我的问题是:

  • 我真的需要两个变量吗
  • 或者我可以只买一个CATALINA_HOME然后扔掉它吗
    CATALINA_BASE
    (或反之亦然)

    • 我不能说我知道最佳实践,但以下是我的观点

      您是否将这些变量用于任何事情

      就我个人而言,无论是在Linux还是Windows上,在从开发到生产的各种环境中,我都不需要改变。除非你正在做一些依赖于他们的特殊事情,否则你很可能会让他们一个人呆着

      catalina.sh
      设置Tomcat开箱即用的变量。它还说,
      CATALINA_BASE
      是可选的:

      #   CATALINA_HOME   May point at your Catalina "build" directory.
      #
      #   CATALINA_BASE   (Optional) Base directory for resolving dynamic portions
      #                   of a Catalina installation.  If not present, resolves to
      #                   the same directory that CATALINA_HOME points to.
      

      我敢肯定,当您启动服务器时,您会发现您的设置是否正常。

      如果您在一台主机上运行多个Tomcat实例,您应该将
      CATALINA\u BASE
      设置为与
      ../Tomcat\u instance1
      ../Tomcat\u instance2
      目录相等,以适合每个实例和
      CATALINA_HOME
      环境变量,用于公共Tomcat安装,其文件将在两个实例之间共享

      如果您在主机上运行单个Tomcat实例,
      CATALINA_BASE
      环境是可选的,在这种情况下,它将默认为
      CATALINA_HOME
      。如果您正在运行多个实例,那么应该提供它


      Apache Tomcat发行版根目录中的
      RUNNING.txt
      文件在标题为Advanced Configuration-Multiple Tomcat Instances

      的标题下对该设置有很好的描述,该标题是bin的父文件夹,其中包含Tomcat.exe文件:

      CATALINA_HOME='C:\Program Files\Apache Software Foundation\Tomcat 6.0'
      
      CATALINA_基地
      CATALINA_基地
      相同

      CATALINA_基地
      vs
      CATALINA_基地
      如果运行多个实例,则需要两个变量,否则只需
      CATALINA\u HOME

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

      CATALINA\u HOME
      表示Tomcat安装的根目录

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

      见:

      Running.txt中记录了使用单独的
      CATALINA_HOME
      CATALINA_BASE
      运行,其中说明:

      使用
      CATALINA_HOME
      CATALINA_BASE
      环境变量 指定ApacheTomcat的位置及其活动目录的位置 配置

      无法在中配置
      CATALINA\u HOME
      CATALINA\u BASE
      变量
      setenv
      脚本,因为它们用于查找该文件

      例如:

      $ /usr/share/tomcat7/bin/startup.sh
      Using CATALINA_BASE:   /usr/share/tomcat7
      Using CATALINA_HOME:   /usr/share/tomcat7
      
      (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\u底座
      环境变量添加到包含您的应用程序的文件的目录 “个人”Tomcat实例

      使用单独的
      CATALINA_HOME
      CATALINA_BASE
      运行时 文件和目录拆分如下:

      在CATALINA_基地中:

      • bin
        -仅限:setenv.sh(*nix)或setenv.bat(Windows),tomcat-juli.jar
      • conf
        -服务器配置文件(包括Server.xml)
      • lib
        -库和类,如下所述
      • 日志
        -日志和输出文件
      • webapps
        -自动加载的web应用程序
      • 工作
        -web应用程序的临时工作目录
      • temp
        -JVM用于临时文件的目录>
      在CATALINA_主页中:

      • bin
        -启动和关闭脚本
      • lib
        -库和类,如下所述
      • 认可的
        -覆盖标准“认可标准”的库。默认情况下,它不存在
      如何检查 检查您的
      CATALINA_基地
      CATALINA_主页
      的最简单方法是运行
      startup.sh
      ,例如:

      $ /usr/share/tomcat7/bin/startup.sh
      Using CATALINA_BASE:   /usr/share/tomcat7
      Using CATALINA_HOME:   /usr/share/tomcat7
      
      您还可以通过以下
      dpkg
      工具(Debian/Ubuntu)检查Tomcat文件的安装位置:


      通过将
      CATALINA_BASE
      指向与
      CATALINA_HOME
      不同的目录,可以将配置目录与二进制文件目录分开

      默认情况下,
      CATALINA_BASE
      (配置)和
      CATALINA_HOME
      (二进制文件)指向同一个文件夹,但是将配置与二进制文件分离可以帮助您并排运行多个Tomcat实例,而无需复制二进制文件

      当您想要更新二进制文件而不需要修改或备份/恢复Tomcat的配置文件时,它也很有用

      2018年更新 有