目前,我有几个配置了以下目录的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)中,您需要按照说明进行操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top