码迷,mamicode.com
首页 > 其他好文 > 详细

CATALINA_BASE与CATALINA_HOME的区别(转)

时间:2018-05-17 13:42:11      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:file   bind   12px   directory   cto   add   start   另一个   bsp   

转载自  https://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管理端口用不同的端口号)

 

 

对于不同的应用,我们就可以使用不同的脚本启动,例如:

#设置CATALINA_HOME,tomcat执行所需2进制文件路径,包括应用自己的conf、logs、temp、webapps、work等目录
export CATALINA_HOME=/opt/tomcat7
#设置CATALINA_BASE,应用运行环境
export CATALINA_BASE=/opt/Server1
#设置应用使用的其他环境变量信息
export serverName="Server1"
export casServerUrlPrefix="http://1.1.1.1/ot-cas-server"
#设置CATALINA_OUT
export CATALINA_OUT=/opt/Server1/logs/catalina-$(date "+%Y%m%d").out
#设置tomcat启动参数
export JAVA_OPTS="-server -Dowk.serverName=$serverName -Dowk.casServerUrlPrefix=$casServerUrlPrefix -Xms1500m -Xmx1500m -XX:NewSize=600m -XX:MaxNewSize=900m -XX:PermSize=128M -XX:MaxPermSize=256m -XX:HeapDumpPath=/var/log/jvm_logs/ -Djboss.bind.address=2.2.2.2 -Djboss.bind.port=8080 -Djboss.bind.ajp.port=8009 -Djboss.bind.shutdown.port=8005 -Djboss.node.name=XXXServer1"
#设置tomcat启动语句,这里的server.xml中可以增加自己应用的其他配置,例如数据源配置
"$CATALINA_HOME"/bin/startup.sh -config "$CATALINA_BASE"/conf/server.xml

CATALINA_BASE与CATALINA_HOME的区别(转)

标签:file   bind   12px   directory   cto   add   start   另一个   bsp   

原文地址:https://www.cnblogs.com/widget90/p/9050212.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!