catalina.home catalina.base的区别以及使用方法[转载]

微信扫一扫,分享到朋友圈

catalina.home catalina.base的区别以及使用方法[转载]
67608

tomcat

本文来源:

http://blog.csdn.net/xiaohai0504/article/details/7631014

http://blog.csdn.net/keda8997110/article/details/21400455

==========================================

到底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管理端口用不同的端口号)

===================================================

 

这两个属性仅在你需要安装多个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管理端口用不同的端口号)

我还没有学会写个人说明!
上一篇

大众新7座中型SUV Teramont 国产造型曝光

下一篇

wordpress后台访问404路径缺少wp-admin

你也可能喜欢

发表评论

插入图片
返回顶部