配置 Tomcat 使用不同的临时目录进行文件上传

配置 Tomcat 使用不同的临时目录进行文件上传

我的 Tomcat 实例位于一个剩余空间很少的驱动器上。我运行的应用程序确实将文件上传从服务器移到 NAS 中。然而,在上传过程中,Tomcat 将此文件保存在本地,大概在 /temp 目录中。

我的服务器有第二个数据驱动器,空间充足,我想将这个临时目录重新定位到该驱动器。如何配置 Tomcat,使其使用另一个驱动器上的临时目录,即如何重新定位该目录?

编辑:我正在运行 Windows Server 2k3。我尝试设置 CATALINA_TMPDIR 环境变量,但 Tomcat 似乎忽略了它。

解决方案:我正在使用“Monitor Tomcat”应用程序,它通过

-Djava.io.tmpdir=C:\some\default\directory

到 JVM。这将覆盖我设置的环境变量。您可以在Java>Java 选项

改变这一点已经解决了我的问题。

答案1

Tomcatjava.io.tmpdir中的 设置为。您可以在运行Tomcat之前$CATALINA_BASE/temp通过设置环境变量来更改它。$CATALINA_TMPDIRstartup.sh

catalina.sh

#   CATALINA_TMPDIR (Optional) Directory path location of temporary directory
#                   the JVM should use (java.io.tmpdir).  Defaults to
#                   $CATALINA_BASE/temp.

答案2

在 Windows 上,如果你将 Tomcat 作为服务运行,则可能具有类似于

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\myApplication\Parameters\Java

将现有的末尾的字符串值options(双击打开)设置为:

-Djava.io.tmpdir=c:\{yourDir}

这对我有用。

答案3

如果您使用的是 UNIX/Linux,则只需将第一个驱动器上的临时目录符号链接到第二个驱动器上的相应目录即可。这可能不是最优雅的解决方案,但有时对我来说很有效。

相关内容