首页 文章

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

提问于
浏览
2

目前我有几个catalina基地配置了以下目录,

conf日志服务器webapps工作

bin,lib和common目录都在$ CATALINA_HOME中 .

我现在需要在bin目录中添加setenv.sh文件,但我不希望它被所有catalina基础使用 . 要做到这一点,我想在catalina_base上添加bin diretory,我想要获取setenv.sh文件 . bin目录只包含setenv.sh文件,没有其他内容 . 其他所有内容仍然在$ CATALINA_HOME / bin /(即startup.sh catalina.sh shutdown.sh等)

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

1 回答

  • 5

    如果您提供带有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.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中,您需要将导出更改为set . 在不同的shell(如果不是bash)中,您需要按照说明操作 .

相关问题