部署 生产环境上传文件目录最佳实践

dothide · 2015年03月04日 · 最后由 dothide 回复于 2015年03月04日 · 2164 次阅读

一直在思考一个问题,就是还没找到其最佳实践,问题如下:

我的项目有上传文件的需求,需要把文件(一般是图片和 PDF),我使用的是 Paperclip,上传至 /public 下的分级目录中,由于我在本地跑开发的时候没有发现问题,便部署到服务器生产环境了(部署使用的是 mina)。

这时候问题就来了,生产环境里我上传的文件,每当我发布一个新版本的时候,服务器的 current 会指向新版本号的文件夹,以至于我上一版的上传文件都留在了上一版本的文件夹中,目前小弟的解决方法实在不好,就是更新一版,就跑到服务器上去 cp /public 目录。

希望各路大侠能给小弟支支招,这方面有啥最佳实践能供小弟参考,感激不尽!

最简单的方法是建软链接

@huacnlee

补充下,如果是用的 mina 或者 capstranio, 类似代码如下:

# Manually create these paths in shared/ (eg: shared/config/database.yml) in your server.
# They will be linked in the 'deploy:link_shared_paths' step.
set :shared_paths, ['config/mongoid.yml', 'config/application.yml', 'log', 'tmp', 'public/uploads', 'public/personal' ]

@huacnlee @Rei @lyfi2003

感谢楼上三位的及时回复,解决拉!

需要 登录 后方可回复, 如果你还没有账号请 注册新账号