【问题标题】:Change $home for tomcat only?仅将 $home 更改为 tomcat?
【发布时间】:2016-02-19 14:40:42
【问题描述】:

我有两个在测试/开发环境中在同一用户下运行的 tomcat 实例。在每个实例中,都有一个应用程序将配置数据写入运行 tomcat 的用户的 $home 中的同一目录。

我想设置一个 tomcat 实例,以便它认为 $home 在其他地方。这可能吗?如果我在运行一个实例时执行 export home=foo/bar,会影响另一个实例吗?

显然我知道我可以以不同的用户身份运行每个实例,但在这种情况下我不想这样做。

【问题讨论】:

  • 如果你从一个shell启动tomcat,你可以在启动tomcat之前在这个shell中执行export home=...。 home 将只为这个 shell 设置。

标签: java linux tomcat


【解决方案1】:

只需为两个实例创建一个文件“setenv.sh”

{TOMCAT1_BASE_DIR}/bin/setenv.sh:

export home=/foo/bar1

{TOMCAT2_BASE_DIR}/bin/setenv.sh:

export home=/foo/bar2

tomcat启动时会加载setenv.sh中定义的环境变量

【讨论】:

    【解决方案2】:

    您可以覆盖指定命令的变量而不用这种方式导出它:

    HOME=/home/user command.sh
    

    HOME 变量将更改为 command.sh,但仍将是您在其他任何地方的常用家。

    【讨论】:

      【解决方案3】:

      编辑 {TOMCAT_INSTANCE}/bin/setenv.sh 以设置每个实例所需的所有环境变量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-07
        • 2018-12-04
        • 1970-01-01
        • 2020-10-12
        • 2018-09-06
        • 2023-01-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多