【问题标题】:Using Amazon S3 bucket for static assets in Rails 4在 Rails 4 中使用 Amazon S3 存储桶存储静态资产
【发布时间】:2015-09-10 02:25:03
【问题描述】:

我在assets/images/my_subfolder 下有一个包含静态(不是从用户上传的)图像的子文件夹。它有一个巨大的尺寸。我想将它移动到 Amazon S3 存储桶并让轨道知道它在那里。最简单的方法是什么?

附:我有亚马逊访问密钥和密钥。我还需要什么吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4 amazon-s3 assets


    【解决方案1】:

    asset_sync gem 将负责在 Rails 和 S3 之间同步您的资产。它也与 Rails 4 兼容。设置确实需要一些工作,但它为您完成了很多您通常必须手动使用 AWS gem 完成的繁重工作。文档详细说明了使其正常工作所需的一切。

    另一方面,由于性能原因,通常认为在 S3 上托管静态资产是个坏主意。如果您不关心加载网页需要多长时间,那么可以使用 S3。但是,大多数人需要快速加载时间,尤其是对于 SEO。最好使用 CDN,例如 Cloudfront。

    【讨论】:

    • 表示上次更新是在 6 个月前,当前状态为“失败”。
    • 我已经有一段时间没有使用它了,我想它可能不再起作用了。也许最近用过的人可以确认一下。
    【解决方案2】:

    您可以尝试只使用雾。文档中有一个使用该 gem 与 Ruby (Rails) 和 S3 的示例:

    http://fog.io/storage/

    作为替代方案,这可能有助于更好地保持资产管道的完整性,您可以尝试使用 CloudFront(也来自 Amazon),如本文所述:http://www.happybearsoftware.com/use-cloudfront-and-the-rails-asset-pipeline-to-speed-up-your-app.html

    【讨论】:

    • 我可以让我的应用程序中使用 assets/images/my_subfolder 的部分改用它的 S3 bitbucket 路径吗?
    • 雾最适合用于用户上传的项目。不适用于要在源中检查的静态项目。最好使用 Amazon CloudFront。
    猜你喜欢
    • 2017-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 2016-08-25
    • 1970-01-01
    • 2016-03-31
    • 2021-12-31
    相关资源
    最近更新 更多