1. 起因

    公司研发人员 部署服务在阿里云 ecs 服务器; 上传文件过1周左右文件自动丢失;

  2. 排查思路:

    (1).查询tomcat 启动日志出现如下信息:

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

    (2).这个目录在Linux系统中默认建在/tmp目录下, 10天就会被清除, 引发上述异常.

    (3).man systemd-tmpfiles

(3).由此可确定服务为凶手;就是说/tmp 目录下除了下面排除的文件,都给删了。擦~

  1. 系统环境:

Centos-7.2

内核版本:

2.6.32-696.3.2.el6.x86_64

容器:

Tomcat 8.5.15.tar.gz

2.tomcat 服务层解决办法;

JVM_OPTIONS="-Xrs -Xms256m -Xmx512m -Djava.io.tmpdir=/data/app/upload"   ####tomcat bin catalina.sh 文件修改##

3.程序框架解决办法:

框架配置文件新增: application.properties     ####sprint-boot 框架配置文件#######

server.tomcat.basedir=/data/app/upload

4.系统解决方案;

解决方案在 /usr/lib/tmpfiles.d/ 新建文件把指定目录添加上并规定不让被清除
root@~:# vi /usr/lib/tmpfiles.d/tomcat.conf
d /tmp/tomcat* 0755 root root -           
d /tmp/upload  0755 root root -             ##tomcat 程序上传目录文件

OK,重启 systemctl restart systemd-tmpfiles-clean  服务;

转载于:https://blog.51cto.com/breaklinux/2149624

Tomcat-上传文件路径填坑相关推荐

  1. SpringBoot部署项目到Linux上传文件路径问题

    SpringBoot部署项目到Linux上传文件路径问题 使用项目相对路径上传到话会上传到linux服务器到/tmp 临时文件目录中,但是问题是还会报异常 Caused by: java.io.Fil ...

  2. 我使用Feign上传文件踩的坑,MultipartFile文件死活传不过去

    我使用Feign上传文件踩的坑,MultipartFile文件死活传不过去 Feign上传文件 基本信息:通过后台管理,更改APP端的头像.我是用feign来调用app端的修改头像接口.两个参数,st ...

  3. tomcat上传文件到不同服务器,使用SpringMVC进行跨服务器上传文件出现的那些坑

    [1] 405 Method Not Allowed 原因是因为Servlet默认是只读的,也就是写不进去(文件上传不过来) 所以要在文件服务器的 web.xml 对 Servlet 进行配置 def ...

  4. SpringBoot设置全局上传文件路径并上传文件

    前言 在后端处理文件上传的时候,我们通上传文件的时候,一般这个路径不会随便写. 比如这篇文章中的路径:解决SpringBoot文件上传报错:org.apache.tomcat.util.http.fi ...

  5. php获取上传文件路径 fakepath,JavaScript_js获取上传文件的绝对路径实现方法,在html中input type=file - phpStudy...

    js获取上传文件的绝对路径实现方法 在html中 function upload() { var filename = document.getElementById("importFile ...

  6. 百度 UEditor--自定义上传文件路径及读取文件

    jsp中替换掉上传和预览图片的URL 注意第一句判断,注意要用项目的相对URL return '/sirdifoa/kentra/file/uploadImage.do'; 1 2 3 4 5 6 7 ...

  7. 【Github Action】使用ssh-deploy上传文件的小坑

    可以使用这个Github Action上传文件到服务器. https://github.com/easingthemes/ssh-deploy README中描述了使用方法: - name: Depl ...

  8. tomcat上传文件偶见异常

    我的服务为数据接收服务,上传文件也是由程序模拟上传,是由httpclient写的上传文件,因为本身上传的时候并没有在程序中设置请求超时时间,所以在接收的服务中就会发现了如下的错误: org.apach ...

  9. struts2处理上传文件路径问题

    为了能够在页面上正常显示图片,我们需要把图片放在web项目目录中,那么在上传的路径可以这么来获取: String path = ServletActionContext.getServletConte ...

最新文章

  1. 计划任务工具 cron 的配置和说明
  2. PID控制器开发笔记之十:步进式PID控制器的实现
  3. 微信小程序相关项目实例集合
  4. NVIDIA英伟达控制面板打不开解决办法win10
  5. 计算机学数字电子基础知识,什么是数字电路?数字电路基础知识
  6. LeetCode 707. Design Linked List
  7. C语言入门 -- Simple Simon 简单的西蒙游戏(2021/1/7)
  8. 浅谈人工智能发展现状及未来挑战
  9. Eclips显示行号
  10. DPlayer播放m3u8
  11. discuz2.5支持php5.6,discuz在后台 应用 应用中心 安装一个dz 2.5模板 显示超时无法安装模板...
  12. NOIP2020划水记
  13. ElementUI的Table组件在无数据情况下让“暂无数据”文本居中显示
  14. 联想 ThinkPad x260无法通过U盘安装Windows 7问题解决办法
  15. ArcGIS10.2安装教程(win11版)
  16. Android本地音乐播放
  17. python 二项分布_Python之二项分布、泊松分布
  18. 软件工程教程:第9章面向对象分析 课后习题
  19. 使用netty实现并维护TCP长连接
  20. vue2使用轮播图插件swiper,vue-awesome-swiper

热门文章

  1. pywinauto 记事本操作示例 移动鼠标 使用键盘 自动操作软件
  2. tensorflow 做加法
  3. 二十五、二叉树的前序、中序、后序遍历
  4. 【文本分类】深入理解embedding层的模型、结构与文本表示
  5. vue.js与ajax删除,javascript - VueJs和VueResource,从Ajax请求中删除标头字段 - 堆栈内存溢出...
  6. SpringCloud核心组件及其作用
  7. C++关键字积累——持续更新
  8. springboot 整合retry(重试机制)
  9. iOS网络缓存扫盲篇
  10. 接口测试 2021 接口测试白皮书 欢迎下载阅读