美文网首页
springboot内置tomcat在/tmp的临时文件被系统删

springboot内置tomcat在/tmp的临时文件被系统删

作者: Liekkasz | 来源:发表于2020-02-17 15:32 被阅读0次

问题

正常运行的springboot项目,突然出现文件上传异常

java.io.IOException: The temporary upload location [/tmp/tomcat.7278393013633127856.2220/work/Tomcat/localhost/ROOT] is not valid

原因

因为上传的文件会缓存到本地磁盘,而缓存的路径就是上面的/tmp/tomcat.7278393013633127856.2220/work/Tomcat/localhost/ROOT,而错误提示明显显示文件不存在,排查后发现是Linux系统自动删除了tmp目录下的文件

解决

方案1

重启应用,该方法只能临时解决问题。

方案2

增加服务配置,自定义baseDir。

server.tomcat.basedir=/tmp/tomcat

方案3

配置不删除tmp目录下的tomcat

$ vim /usr/lib/tmpfiles.d/tmp.conf

# 添加一行
x /tmp/tomcat.*

重启服务
$ systemctl restart systemd-tmpfiles-clean

相关文章

网友评论

      本文标题:springboot内置tomcat在/tmp的临时文件被系统删

      本文链接:https://www.haomeiwen.com/subject/bywbfhtx.html