FastDfs、Nginx 搭建 请参考之前的博客
文件迁移
- 项目背景
业务涉及到多个用户上传文件的场景,文件大小在2Mb
以内。服务器之前采用的是传统的文件上传方式,在服务器端接收文件,然后存储在一个静态文件夹中。截止到决定使用文件服务器改版,以上传了250张左右的图片,大小在200Mb
左右。 - 存在的问题
- 每次发版的时候必须特别小心该文件夹,虽然有备份脚本,但是随着文件越来越多,占用的地方,备份花费的时间越来越多。
- 静态文件夹中文件越来越多,预估以后索引文件会出现瓶颈。
- 数据迁移
- 遍历数据库中已存在的URI(静态文件的相对路径)
- 根据存储路径读取文件,上传至文件服务器,获得新的URI
- 将新的URI更新到数据库中。
- 上传模块改造
- 抽取文件上传接口,改用FastDfs的实现类。
- 新图片地址访问
- 由于图片服务器位于另外一台服务器上,页面中图片展示的时候采用的相对路径,因此想到使用Nginx将图片访问的请求反向代理至图片服务器,这样页面不用做任何改动。