我在同一台服务器(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
复制相似问题