我对S3有点新鲜。我想知道将公共/图像放在S3存储桶中是否是一个好主意,如果有的话,有一个简单的方法可以移动吗?
答案 0 :(得分:7)
如果查看config / environments / production.rb,您将看到以下代码行(已注释掉):
config.action_controller.asset_host = "http://assets.example.com"
如果您想在S3上保留您的资产(图片,样式表等),只需将正确的网址放在那里。您可能对亚马逊感兴趣:
http://developer.amazonwebservices.com/connect/message.jspa?messageID=159916
,这在Rails API中:
http://api.rubyonrails.org/classes/ActionView/Helpers/AssetTagHelper.html
如果您提供大量静态资产或在庞大的服务器上存储庞大的资产,资产主机是很好的。如果您的数量很少或正在提供小资产,那么S3可能没有意义。顺便说一下,Paperclip理解S3,所以它是这种东西的天然附件处理宝石。
答案 1 :(得分:2)
除非您在public/
中存储非常大或频繁访问的资产,否则没有理由将其放在外部资产主机上。这将是您的应用程序复杂性的不必要的增加。
如果您拥有大型或经常访问的资产,除了S3之外,您可能还希望使用亚马逊的CloudFront内容分发网络。
史蒂夫罗斯的答案对Rails方面的方法有好处。