gpt4 book ai didi

java - setenv.sh 在一个单独的 tomcat catalina 基地

转载 作者:行者123 更新时间:2023-11-30 06:36:56 24 4
gpt4 key购买 nike

目前我有几个配置了以下目录的catalina bases,

conf logs server webapps work

bin、lib 和common 目录都还在$CATALINA_HOME 中。

我现在需要在 bin 目录中添加一个 setenv.sh 文件,但我不希望它被所有的 catalina 基地使用。为此,我正在考虑在我想要获取 setenv.sh 文件的 catalina_base 上添加一个 bin 目录。 bin 目录将只包含 setenv.sh 文件,没有其他内容。其他所有内容仍将位于 $CATALINA_HOME/bin/(即 startup.sh catalina.sh shutdown.sh 等)

这样做有什么副作用吗? tomcat启动时可以同时使用$CATALINA_BASE/bin/和$CATALINA_HOME/bin吗?

最佳答案

如果您提供带有 setenv.sh 的 bin,我还没有测试它的行为方式。但这是我配置许多从一个 CATALINA_HOME 运行不同实例的 tomcat 应用程序的方法。

如果您有该配置,那么您可能有自己的运行 catalina.sh 的启动脚本。带有选项 JAVA_HOME、CATALINA_HOME、CATALINA_BASE,可能还有 CATALINA_PID。

因此,无论您需要更改或添加到 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...

在 APP1 的 start.sh 中你可以设置:JAVA_HOME、CATALINA_HOME、CATALINA_BASE,可能还有 CATALINA_PID、CATALINA_OPTS。

export JAVA_HOME=/opt/java-1.6export CATALINA_HOME=/opt/apache-tomcat-xxxexport CATALINA_BASE=/apps/APP1export CATALINA_PID=${CATALINA_BASE}/temp/app1.pid.fileexport CATALINA_OPTS=-Dmy.fancy.variable=hello${CATALINA_HOME}/bin/catalina.sh start

停止将几乎相同。你只需要改变开始停止。下一步是将变量定义移动到某个文件,比方说 config.ini,然后您必须在 start.sh 和 stop.sh 中获取该文件。在 Windows 中,您需要将导出更改为设置。在不同的 shell 中(如果不是 bash),您需要按照说明进行操作。

关于java - setenv.sh 在一个单独的 tomcat catalina 基地,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4133302/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com