【问题标题】:Is it possible to move tomcat's work/Catalina/localhost/ directory?是否可以移动tomcat的work/Catalina/localhost/目录?
【发布时间】:2014-07-23 14:10:47
【问题描述】:

我想知道是否有可能以某种方式更改 Tomcat work/Catalina/localhost/ 目录的路径?

假设我有两个用户:tomcat_install_usertomcat_run_user。 我想将所有 tomcat 安装和配置文件存储在 tomcat_install_user 上,并将tomcat_run_user 仅用于运行 Tomcat 进程。我希望tomcat_run_user 对其他用户文件只有读取权限。

但是Tomcat需要在$CATALINA_BASE创建工作目录。我不想将整个$CATALINA_BASE 移动到tomcat_run_user,只是work 目录。甚至可能吗?如何将Tomcat指向这个目录?

【问题讨论】:

    标签: tomcat


    【解决方案1】:

    Tomcat 的standard Host implementation 支持server.xml 配置文件中<Host> 元素中的workDir 属性。

    此主机的应用程序要使用的临时目录的路径名。每个应用程序都有自己的临时读写使用的子目录。配置 Context workDir 将覆盖 Host workDir 配置的使用。该目录将通过名为 javax.servlet.context.tempdir 的 servlet 上下文属性(类型为 java.io.File)对 Web 应用程序中的 servlet 可见,如 Servlet 规范中所述。如果未指定,将在 $CATALINA_BASE/work 下提供一个合适的目录。

    您可以将其设置为您选择的目录,例如

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" 
        workDir="/home/tomcat_run_user/other_work_dir">
    
    ....
    
    </Host>
    

    另请注意,standard Context implementation 还提供了属性 workDir,它覆盖了 &lt;Host&gt; 元素中的设置,但仅适用于指定一个的应用程序。

    【讨论】:

    • 将默认目录替换为指向另一个卷的符号链接是否也可以正常工作?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    • 2013-06-15
    • 2021-10-22
    • 2017-02-23
    • 1970-01-01
    相关资源
    最近更新 更多