【发布时间】:2015-09-10 02:25:03
【问题描述】:
我在assets/images/my_subfolder 下有一个包含静态(不是从用户上传的)图像的子文件夹。它有一个巨大的尺寸。我想将它移动到 Amazon S3 存储桶并让轨道知道它在那里。最简单的方法是什么?
附:我有亚马逊访问密钥和密钥。我还需要什么吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 amazon-s3 assets
我在assets/images/my_subfolder 下有一个包含静态(不是从用户上传的)图像的子文件夹。它有一个巨大的尺寸。我想将它移动到 Amazon S3 存储桶并让轨道知道它在那里。最简单的方法是什么?
附:我有亚马逊访问密钥和密钥。我还需要什么吗?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 amazon-s3 assets
asset_sync gem 将负责在 Rails 和 S3 之间同步您的资产。它也与 Rails 4 兼容。设置确实需要一些工作,但它为您完成了很多您通常必须手动使用 AWS gem 完成的繁重工作。文档详细说明了使其正常工作所需的一切。
另一方面,由于性能原因,通常认为在 S3 上托管静态资产是个坏主意。如果您不关心加载网页需要多长时间,那么可以使用 S3。但是,大多数人需要快速加载时间,尤其是对于 SEO。最好使用 CDN,例如 Cloudfront。
【讨论】:
您可以尝试只使用雾。文档中有一个使用该 gem 与 Ruby (Rails) 和 S3 的示例:
作为替代方案,这可能有助于更好地保持资产管道的完整性,您可以尝试使用 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 路径吗?