setenv.sh在单独的tomcat catalina基地中
题
目前,我有几个配置了以下目录的Catalina基础,
conf logs服务器webApps工作
垃圾箱,lib和常见目录仍在$ catalina_home中。
我现在需要在bin目录中添加一个setEnv.sh文件,但我不希望所有卡塔琳娜基地都使用它。为此,我正在考虑在我想拾取setEnv.sh文件的catalina_base上添加一个箱。 bin目录仅包含setEnv.sh文件,而无需其他。其他所有内容仍将在$ catalina_home/ bin/(即startup.sh catalina.sh shotdown.sh等)中
这样做有任何副作用吗?在启动期间,tomcat可以同时使用$ catalina_base/bin/bin/bin/bin/bin/$ catalina_home/bin吗?
解决方案
如果您提供setenv.sh的垃圾箱,我尚未测试它的行为。但这是我配置许多从一个catalina_home运行不同实例的tomcat应用程序的方式。
如果您有该配置,那么您可能会有自己的启动脚本,可以运行catalina.sh。使用Java_home,Catalina_home,Catalina_base和Catalina_pid的选项。
因此,无论您需要更改或添加setenv.sh,只需更改自己的启动脚本即可。或创建您的setenv.sh,该setEnv.sh将在开始脚本的开始时被调用。并将其放入您自己的bin目录中。
我认为它是Linux(在Windows中,它会相似)。因此,您可以使用一些申请书,让我们称它们为App1,App2。都有: bin conf logs server webapps work
. 。目录结构可以是:
/apps/APP1 bin start.sh stop.sh conf logs server webapps work /apps/APP2 bin start.sh stop.sh conf logs server webapps work /opt/apache-tomcat-xxx all the standard tomcat files... /opt/java-1.6 all the standard java files...
在start.sh中,您可以设置:java_home,catalina_home,catalina_base和catalina_pid,catalina_opts。
export JAVA_HOME=/opt/java-1.6 export CATALINA_HOME=/opt/apache-tomcat-xxx export CATALINA_BASE=/apps/APP1 export CATALINA_PID=${CATALINA_BASE}/temp/app1.pid.file export CATALINA_OPTS=-Dmy.fancy.variable=hello ${CATALINA_HOME}/bin/catalina.sh start
停止几乎相同。您只需要更改开始就可以停止。下一步将是将变量定义移动到某些文件,例如config.ini,然后您必须在start.sh和stop.sh中源。在Windows中,您需要将导出更改为设置。在不同的外壳(如果不是bash)中,您需要按照说明进行操作。