gpt4 book ai didi

ruby-on-rails - 与 Rails 应用程序一起使用的文件服务器的建议

转载 作者:行者123 更新时间:2023-12-02 00:41:54 24 4
gpt4 key购买 nike

我正在开发一个接受文件上传的 Rails 应用程序,用户可以稍后在其中修改这些文件。例如,他们可以更改文本文件内容或对图像执行基本操作,例如调整大小、裁剪、旋转等。

目前,文件存储在 Apache 与 Passenger 一起运行的同一台服务器上,以服务所有应用程序请求。

我需要将用户文件移动到专用服务器以分配我的设置的负载。目前,我们的用户每周上传大约 10GB 的文件,这不是很大,但最终会累积起来。

所以我将通过不同的选项来实现应用程序服务器和文件服务器之间的通信。我想从一个简单且万无一失的解决方案开始。如果它以后可以很好地跨多个文件服务器扩展,我会非常高兴。

以下是我一直在研究的一些不同选项:

  • 亚马逊 S3。我发现我的应用程序实现起来有点困难。它增加了再次“上传”上传文件的复杂性(以后可能多次),请注意用户可以使用我的应用程序修改文件和图像。除此之外,这将是一个很好的“设置好并忘记它”的解决方案。
  • 某种简单的 RPC 服务器,位于文件服务器上,从应用程序服务器端看,它透明地管理文件。我还没有在这里找到任何标准和经过良好测试的工具,所以这在我看来更偏理论。然而,在 GitHub 中构建和使用的 Bert 和 Ernie 看起来很有趣,但可能太复杂了,不适合刚开始。
  • MogileFS 似乎也很有趣。还没有看到它在使用中(但这是我的问题:)。

所以我正在寻找不同的(并且可能是基于标准的)方法来实现 Web 应用程序的文件服务器以及它们如何在野外工作。

最佳答案

使用 S3。它价格低廉,按菜单点菜,如果人们开始下载他们的文件,您的服务器将不会承受压力,因为您的下载页面可以直接指向上传文件的 S3 URL。

“Pedro”在 github.com 有一个与 S3 一起工作的很好的示例应用程序.

  1. 克隆应用程序 ( git clone git://github.com/pedro/paperclip-on-heroku.git )
  2. 确保您安装了 right_aws gem。
  3. 将您的 Amazon S3 凭据(API 和 secret )放入 config/s3.yml
  4. 安装 Firefox S3 插件 ( http://www.s3fox.net/ )
  5. 进入 Firefox S3 插件并输入您的 api 和密码。
  6. 使用 S3 插件创建一个具有唯一名称的存储桶,例如“your-paperclip-demo”。
  7. 编辑 app/models/user.rb,并将您的存储桶名称放在倒数第二行 (:bucket => 'your-paperclip-demo')。
  8. 在本地启动您的服务器并将一些文件上传到您的本地应用程序。您将从 S3 插件中看到文件已上传到新存储桶中的 Amazon S3。

我通常非常无能或运气不佳,无法让这些东西正常工作,但有了 Pedro 的小型 S3 上传应用程序,我就成功了。祝你好运。

关于ruby-on-rails - 与 Rails 应用程序一起使用的文件服务器的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2284565/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com