此处将为大家介绍关于tomcat-CATALINA_BASE和CATALINA_HOME变量的详细内容,并且为您解答有关tomcatcatalinabase的相关问题,此外,我们还将为您介绍关于cat
此处将为大家介绍关于tomcat-CATALINA_BASE和CATALINA_HOME变量的详细内容,并且为您解答有关tomcat catalina base的相关问题,此外,我们还将为您介绍关于catalina.home catalina.base 区别、catalina.home与 catalina.base区别、CATALINA_BASE与CATALINA_HOME的区别、Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)的有用信息。
本文目录一览:- tomcat-CATALINA_BASE和CATALINA_HOME变量(tomcat catalina base)
- catalina.home catalina.base 区别
- catalina.home与 catalina.base区别
- CATALINA_BASE与CATALINA_HOME的区别
- Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)
tomcat-CATALINA_BASE和CATALINA_HOME变量(tomcat catalina base)
我在同一台服务器(Linux)上运行了多个tomcat
6实例,并且按预期工作。我试图找出关于设置CATALINA_HOME
和CATALINA_BASE
变量的标准做法。
在我的tomcat安装,我必须设置CATALINA_HOME
为指向“共同”的文件夹(比如/tomcat6
)和CATALINA_BASE
可变取决于实例名称变化(比如/tomcat_instance1
,/tomcat_instance2
)
我的问题是这样的:
- 我真的需要两个变量吗?
- 还是我可以只拥有一个
CATALINA_HOME
并消除它CATALINA_BASE
(反之亦然)?
答案1
小编典典如果要在单个主机上运行Tomcat的多个实例,则应将其设置CATALINA_BASE
为等于.../tomcat_instance1
或.../tomcat_instance2
适用于每个实例的目录,并将CATALINA_HOME
环境变量设置为通用Tomcat安装的环境,其文件将在两个实例之间共享。
CATALINA_BASE
如果您在主机上运行单个Tomcat实例,则该环境是可选的,CATALINA_HOME
在这种情况下,默认为。如果您正在运行多个实例,则应提供该实例。
RUNNING.txt
Apache Tomcat发行版根目录中的文件“ 高级配置-多个Tomcat实例”* 下对此文件有很好的描述。 *
catalina.home catalina.base 区别
这两个属性仅在你需要安装多个Tomcat实例而不想安装多个软件备份的时候使用,这样能节省磁盘空间。
以Tomcat6.0为例,其Tomcat目 录结构如下:
bin (运行脚本) conf (配置文件) lib (核心库文件) logs (日志目录) temp (临时目录)
webapps (自动装载的应用程序的目录) work (JVM临时文件目录[Java.io.tmpdir])
其中只有 bin 和 lib 目录被多个tomcat示例公用,其它目录conf、logs、temp、webapps和work 每个Tomcat实例必须拥有其自己独立的备份。
明白了上述关系就容易理解catalina.home和catalina.base的用途了:
catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录。
catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
仅运行一个Tomcat实例时,这两个属性指向的位置是相同的。
附:多实例tomcat公用工作目录实现(Linux)
在一台服务器上,可以运行多个tomcat实例,不需要安装多个tomcat,可以采用不同的用户。
1、以test用户为例,拷贝/usr/local/apache-tomcat-6.0.18目录到/home/test下
2、删除/home/test/apache-tomcat-6.0.18/bin子目录(此目录不需要)
3、编辑/home/test/.bash_profile文件,设置CATALINA_HOME指向刚才的安装目录/usr/local/apache-tomcat-6.0.18
4、设置JAVA_HOME指向刚才的安装目录/usr/java/jdk1.6.0_11
5、设置CATALINA_BASE指向/home/test/apache-tomcat-6.0.18
6、设置CATALINA_OPTS跟/root/.bash_profile的一致(jmx管理端口用不同的端口号)
catalina.home与 catalina.base区别
以Tomcat6.0为例,其Tomcat目 录结构如下:
bin (运行脚本) conf (配置文件) lib (核心库文件) logs (日志目录) temp (临时目录)
webapps (自动装载的应用程序的目录) work (JVM临时文件目录[java.io.tmpdir])
其中只有 bin 和 lib 目录被多个tomcat示例公用,其它目录conf、logs、temp、webapps和work 每个Tomcat实例必须拥有其自己独立的备份。
明白了上述关系就容易理解catalina.home和catalina.base的用途了:
catalina.home(安装目录):指向公用信息的位置,就是bin和lib的父目录。
catalina.base(工作目录):指向每个Tomcat目录私有信息的位置,就是conf、logs、temp、webapps和work的父目录。
应用展示:
在给项目配置日志的时候会用到:
如:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<File>${catalina.base}/logs/all/RSSb.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>RSS_Portal.%d{yyyy-MM-dd_HH-mm}.%i.log.zip</FileNamePattern>
<maxHistory>7</maxHistory>
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>200MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
</rollingPolicy>
<append>true</append>
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} *%-5level* [%thread] %logger Line:%-3L - %msg%n</Pattern>
<charset>utf-8</charset>
</layout>
</appender>
CATALINA_BASE与CATALINA_HOME的区别
到底CATALINA_HOME和CATALINA_BASE有什么区别呢,
之前因为都是小打小闹的在服务器上安装一个tomcat就得了,然后根据前人的配置,
将CATALINA_HOME和CATALINA_BASE两个值设为了tomcat的目录(其实此处描述很不精确),
今天无意间看到了公司的安装文档说明,里面提到了多个tomcat实例运行的配置,才弄明白到底这两者之间有什么区别。
我们可以从Tomcat 5.5的配置文档(http://tomcat.apache.org/tomcat-5.5-doc/config/host.html) 中找到答案:
The description below uses the variable name $CATALINA_HOME to refer to the directory into which you have installed Tomcat 5,
and is the base directory against which most relative paths are resolved.
However, if you have configured Tomcat 5 for multiple instances by setting a CATALINA_BASE directory,
you should use $CATALINA_BASE instead of $CATALINA_HOME for each of these references.
从这段描述可以看出CATALINA_HOME和CATALINA_BASE的区别。简单的说,CATALINA_HOME是Tomcat的安装目录,
CATALINA_BASE是Tomcat的工作目录。如果我们想要运行Tomcat的 多个实例,但是不想安装多个Tomcat软件副本。
那么我们可以配置多个工作目录,每个运行实例独占一个工作目录,但是共享同一个安装目录。
Tomcat每个运行实例需要使用自己的conf、logs、temp、webapps、work和shared目录,因此CATALINA_BASE就指向这些目录。
而其他目录主要包括了Tomcat的二进制文件和脚本,CATALINA_HOME就指向这些目录。
如果我们希望再运行另一个Tomcat实例,那么我们可以建立一个目录,把conf、logs、temp、webapps、work和shared拷贝到该目录下,
然后让CATALINA_BASE指向该目录即可。
在一台服务器上,可以运行多个tomcat实例,不需要安装多个tomcat,可以采用不同的用户,以test用户为例,
拷贝/usr/local/apache-tomcat-6.0.18目录到/home/test下,删除/home/test/apache-tomcat-6.0.18/bin子目录(此目录不需要),
编辑/home/test/.bash_profile文件,设置CATALINA_HOME指向刚才的安装目录/usr/local/apache-tomcat-6.0.18,
设置JAVA_HOME指向刚才的安装目录/usr/java/jdk1.6.0_11。设置CATALINA_BASE指向/home/test/apache-tomcat-6.0.18,
设置CATALINA_OPTS跟/root/.bash_profile的一致(jmx管理端口用不同的端口号)
Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)
一:概念
catalina.home (安装目录):指向公用信息的位置,就是 bin 和 lib 的父目录。
catalina.base (工作目录):指向每个 Tomcat 目录私有信息的位置,就是 conf、logs、temp、webapps 和 work 的父目录。
录结构如下:
bin (运行脚本)
conf (配置文件)
lib (核心库文件)
logs (日志目录)
temp (临时目录)
webapps (自动装载的应用程序的目录)
work (JVM 临时文件目录 [java.io.tmpdir])
二实例说明:
创建两个目录 tomcat1 和 tomcat2; 然后将上图属于 catalina.base 的文件夹拷贝过来
tomcat1:
tomcat2:
然后在 tomcat1 和 tomcat2 的文件夹下创建 startup.bat
set "CATALINA_BASE=%cd%"
set "CATALINA_HOME=D:\apache-tomcat-9.0.26"
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
call "%EXECUTABLE%" start
然后我们可以在 tomcat ins1 下的 conf 中的 server.xml 中修改 http 端口号分别为 8066
tomcat2 的做法和 tomcat1 一样只不过端口号改为 8077
其它端口也得处理,否则冲突
分别双击 startup.bat
今天的关于tomcat-CATALINA_BASE和CATALINA_HOME变量和tomcat catalina base的分享已经结束,谢谢您的关注,如果想了解更多关于catalina.home catalina.base 区别、catalina.home与 catalina.base区别、CATALINA_BASE与CATALINA_HOME的区别、Eclipse 单个 tomcat 多个项目部署原理 (tomcat 配置的环境变量 catalina.home 和 catalina.base)的相关知识,请在本站进行查询。
本文标签: