我正在开发一个Rails应用程序,它接受文件上传,用户可以在以后修改这些文件。例如,他们可以更改文本文件内容或对图像执行基本操作,如调整大小,裁剪,旋转等。
目前,文件存储在运行Apache的同一台服务器上,以便为所有应用程序请求提供服务。
我需要将用户文件移动到专用服务器以在我的设置上分配负载。目前,我们的用户每周上传大约10GB的文件,这不是很大的数量,但最终会增加。
因此,我将介绍如何实现应用程序服务器与文件服务器之间的通信的不同选项。我想从一个简单而傻瓜式的解决方案开始。如果它稍后在多个文件服务器上扩展得很好,我会非常高兴。
以下是我一直在调查的一些不同选项:
所以我正在寻找不同的(可能是基于标准的)方法来实现Web应用程序的文件服务器以及它们如何在野外工作。
答案 0 :(得分:2)
使用S3。它很便宜,点菜,如果人们开始下载他们的文件,你的服务器就不会受到压力,因为你的下载页面可以直接指向上传文件的S3 URL。
“Pedro”有一个很好的示例应用程序,适用于github.com的S3。
我通常非常不称职或不善于使这些事情发挥作用,但是通过Pedro的小型S3上传应用程序,我获得了成功。祝好运。
答案 1 :(得分:1)
您还可以尝试编译Dropbox版本(它们提供源代码)并将ln -s编译到您的公共/系统目录,以便回形针保存到它。这样你就可以从任何桌面远程访问文件......我还没有这样做,所以我无法证明它有多么简单/有用/有价值,但它在我的teux deux列表中。 。:)
答案 2 :(得分:0)
我认为S3是你最好的选择。使用像Paperclip这样的插件,它非常容易添加到Rails应用程序中,而且不必担心缩放它会节省头痛。