Java Tomcat-CATALINA_基和CATALINA_主变量
我在同一台服务器(Linux)上运行了多个tomcat 6实例,它可以正常工作。我正试图找出设置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然后扔掉它吗
CATALINA_HOME
和CATALINA_BASE
变量的标准做法
在我的tomcat安装中,我将CATALINA_HOME
设置为指向一个“公共”文件夹(比如/tomcat6
),并且CATALINA_BASE
变量根据实例名而变化(比如/tomcat_instance1
,/tomcat_instance2
)
我的问题是:
- 我真的需要两个变量吗
- 或者我可以只买一个CATALINA_HOME然后扔掉它吗
(或反之亦然)CATALINA_BASE
-仅限:setenv.sh(*nix)或setenv.bat(Windows),tomcat-juli.jarbin
-服务器配置文件(包括Server.xml)conf
-库和类,如下所述lib
-日志和输出文件日志
-自动加载的web应用程序webapps
-web应用程序的临时工作目录工作
-JVM用于临时文件的目录>temp
-启动和关闭脚本bin
-库和类,如下所述lib
-覆盖标准“认可标准”的库。默认情况下,它不存在认可的
- 我不能说我知道最佳实践,但以下是我的观点
您是否将这些变量用于任何事情
就我个人而言,无论是在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_基地
vsCATALINA_基地
如果运行多个实例,则需要两个变量,否则只需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_基地中:
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年更新
有