catalina.home catalina.base 区别

版权声明:转载请注明出处 https://blog.csdn.net/qq_30835699/article/details/82429580

以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有什么区别呢,之前因为都是小打小闹的在服务器上安装一个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 C A T A L I N A H O M E t o r e f e r t o t h e d i r e c t o r y i n t o w h i c h y o u h a v e i n s t a l l e d T o m c a t 5 , a n d i s t h e b a s e d i r e c t o r y a g a i n s t w h i c h m o s t r e l a t i v e p a t h s a r e r e s o l v e d . H o w e v e r , i f y o u h a v e c o n f i g u r e d T o m c a t 5 f o r m u l t i p l e i n s t a n c e s b y s e t t i n g a C A T A L I N A B A S E d i r e c t o r y , y o u s h o u l d u s e 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管理端口用不同的端口号)


-Dcatalina.base=”E:\workspace\workspace-cn.metadata.plugins\org.eclipse.wst.server.core\tmp0” -Dcatalina.home=”E:\tomcat7” -Dwtp.deploy=”E:\workspace\workspace-cn.metadata.plugins

可以查看发布到服务器上面的代码位置

猜你喜欢

转载自blog.csdn.net/qq_30835699/article/details/82429580