Tomcat的“temp”和“work”目录的澄清说明

36

我已经使用Tomcat相当长的时间了,但我不确定

  • "temp"和
  • "work"

目录用于什么以及何时需要进行清理

请问有人能给出建议吗?

2个回答

40
  • work 存储已编译的 JSP 和其他资源。
    => 只在 Web 应用程序更新未被捕获的罕见情况下需要 "清理" 其下面的 webapp 目录。

  • temp 用于存储使用 Java 文件 API 创建临时文件的文件。
    => 每次重新启动 Tomcat 都可以进行 "清理"。如果它太满了,那么您的一个 Web 应用程序可能会有某种泄漏,在完成使用临时文件后没有释放它们(虽然这也可能是由于负载过高)。


1
Robert:谢谢!你能告诉我会话数据存储在哪个目录下吗? - balteo
@balteo 会话数据是存储在内存中的,不是吗? - adarshr
@adarsh,但不是持久的会话数据。 - balteo

0

解决重启后未清理临时文件的问题。

<Host name="localhost" appBase="webapps">
    <Context docBase="mywebapp" path="/mywebapp">
        <LifecycleListener className="org.apache.catalina.startup.ContextConfig"
            <Parameter name="clearReferencesStopThreads" value="true" />
        </LifecycleListener>
    </Context>
</Host>

您添加到 server.xml 文件的配置将启用 Tomcat 的清理机制以删除 /opt/tomcat/temp 目录中的临时文件。这是解决积累的临时文件问题的有效方法。这为我解决了问题。确保它不影响您所需的 webapp。
此外,有人可以说明一下为什么这些文件没有被清理吗?我面临的问题与 tomcat 重启后未清理临时文件的问题相同。我正在尝试找到其他解决方案,而不是添加配置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接