我在同一台服务器(Linux)上运行了Tomcat6的多个实例,它可以正常工作。我正在尝试找出关于设置CATALINA_HOME
和CATALINA_BASE
变量的标准实践是什么。
在我的tomcat安装中,我将CATALINA_HOME
设置为指向一个“公共”文件夹(比如/tomcat6
),并且CATALINA_BASE
变量根据实例名称的不同而不同(比如/tomcat_instance1
、/tomcat_instance2
)。
我的问题是:
CATALINA_HOME
,然后去掉CATALINA_BASE
(反之亦然) ?发布于 2011-12-21 11:26:00
如果您在一台主机上运行多个Tomcat实例,那么应该将CATALINA_BASE
设置为等于每个实例的.../tomcat_instance1
或.../tomcat_instance2
目录,并将CATALINA_HOME
环境变量设置为通用Tomcat安装,其文件将在两个实例之间共享。
如果您在主机上运行单个CATALINA_BASE
实例,那么Tomcat环境是可选的,在这种情况下将缺省为CATALINA_HOME
。如果您正在按原样运行多个实例,则应该提供它。
在Apache Tomcat发行版根目录下的RUNNING.txt
文件中,标题为高级配置-多个Tomcat实例,对此设置有很好的描述
发布于 2015-04-02 03:00:38
CATALINA_HOME
vs CATALINA_BASE
如果你运行多个实例,那么你需要这两个变量,否则只需要CATALINA_HOME
。
换句话说:CATALINA_HOME
是必需的,而CATALINA_BASE
是可选的。
CATALINA_HOME
表示Tomcat安装的根目录。
通过为每个实例定义$CATALINA_BASE
,可以为多个实例配置
。如果未配置多个实例,则
$CATALINA_BASE
与$CATALINA_HOME
相同。
请参阅:Apache Tomcat 7 - Introduction
在RUNNING.txt中记录了使用单独的CATALINA_HOME
和CATALINA_BASE
运行,它说:
CATALINA_HOME
和CATALINA_BASE
环境变量分别用于指定Apache Tomcat的位置及其活动配置的位置。
您不能在setenv
脚本中配置CATALINA_HOME
和CATALINA_BASE
变量,因为它们用于查找该文件。
例如:
(4.1) Tomcat可以通过执行以下命令之一启动:
启动$CATALINA_HOME/bin/ %CATALINA_HOME%\bin\startup.bat (Unix)
或
%CATALINA_HOME%\bin\catalina.bat启动(Windows) $CATALINA_HOME/bin/catalina.sh启动(Unix)
多个Tomcat实例
在许多情况下,在同一服务器上的多个用户之间共享Tomcat二进制发行版的单个副本是可取的。要实现这一点,您可以将
CATALINA_BASE
环境变量设置为包含“个人”Tomcat实例的文件的目录。
当使用单独的CATALINA_HOME
和CATALINA_BASE
运行时,文件和目录按如下方式拆分:
在CATALINA_BASE
中:
仅限
bin
:tomcat-juli.jarconf
(*nix)或JVM (Windows)、JVM服务器配置文件(包括server.xml)lib
库和类,如belowlogs
所述)-日志和输出fileswebapps
-自动加载的web applicationswork
- web applicationstemp
的临时工作目录- setenv.sh用于Temporary files> 的目录
在CATALINA_HOME
中
bin
-启动和关闭scriptslib
-库和类,如所解释的belowendorsed
-覆盖标准“认可的标准”的库。默认情况下它是不存在的。如何检查
检查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
工具检查Tomcat文件的安装位置,如下所示(Debian/Ubuntu):
dpkg -L tomcat7-common
发布于 2016-05-23 05:45:25
通过将CATALINA_BASE
指向与CATALINA_HOME
不同的目录,可以将配置目录与二进制文件目录分开。
默认情况下,Tomcat (配置)和Tomcat二进制文件指向同一文件夹,但是将配置与二进制文件分开可以帮助您并排运行CATALINA_BASE
的多个实例,而无需复制二进制文件。
当您想要更新二进制文件,而不需要修改或需要备份/恢复Tomcat的配置文件时,它也很有用。
更新2018
现在有一种使用makebase
实用程序设置CATALINA_BASE的更简单的方法。我在http://blog.rasia.io/blog/how-to-easily-setup-lucee-in-tomcat.html上发布了一个关于这个主题的教程,并在https://youtu.be/nuugoG5c-7M上发布了一个视频教程
原始答案继续如下
要利用此功能,只需创建配置目录并使用CATALINA_BASE
环境变量指向它。您必须在该目录中放置一些文件:
conf
目录,包括其内容,并确保Tomcat对该目录具有读取权限。如果conf/logging.properties
指向${catalina.base}/logs
,请根据您的needs.logs
目录编辑配置文件,并确保Tomcat对该目录具有读/写权限。如果您不想覆盖指向${CATALINA_BASE}/temp
的默认temp
目录,则temp
目录,并确保Tomcat对该目录具有写入权限。${CATALINA_BASE}/work
的work
目录,并确保Tomcat对该目录具有写入权限。https://stackoverflow.com/questions/3090398
复制相似问题