在Rails 4中使用Amazon S3存储桶作为静态资产

时间:2015-06-24 03:37:12

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

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

P.S。我有亚马逊访问密钥和密钥。我还需要其他什么吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:-1)

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

http://fog.io/storage/

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