【问题标题】:Rails 4, Carrierwave-aws, images uploaded to Amazon s3 locally, but not in production (Openshift)Rails 4,Carrierwave-aws,图像在本地上传到 Amazon s3,但不在生产中(Openshift)
【发布时间】:2015-05-27 15:07:54
【问题描述】:

我有一个托管在 openshift 上的 Rails 4 应用程序。我正在使用carrierwave 和carrierwave-aws gem 来处理图像上传。当我在本地测试它时,图像会按预期上传并显示到 Amazon S3。但是,在 Openshift 上托管的生产服务器上,图像被上传到“/uploads/images”而不是亚马逊。 这是我的配置和 Gemfile:

gem 'carrierwave'
gem 'carrierwave-aws'

在初始化程序/carrierwave.rb

#config/initializers/carrierwave.rb
CarrierWave.configure do |config|

  config.storage    = :aws
  config.aws_bucket = 'mybucketname'
  config.aws_acl    = :public_read
  config.asset_host = 'https://mybucketname.s3-us-west-1.amazonaws.com'
  config.aws_authenticated_url_expiration = 60 * 60 * 24 * 365

  config.aws_credentials = {

    # Configuration for Amazon S3
    :provider              => 'AWS',
    :access_key_id     => 'myaccessid',
    :secret_access_key => 'mysecretkey',
    :region                => 'us-west-1',
  }

   config.storage = :aws
   config.cache_dir = "#{Rails.root}/tmp/uploads"                

end

在 image_uploader.rb 我也放了

 storage :aws

以防万一:我以前使用过 Fog,在本地也可以正常工作。然而在生产中它给出了一个 Excon 错误。经过一番谷歌搜索后,我得出结论,carrierwave-aws 是一个更好的选择。

【问题讨论】:

  • 如果图像被存储在 /uploads/images 没有任何错误,那么可能是carrierwave-aws gem 没有安装在你的生产服务器上。检查它是否安装。

标签: ruby-on-rails amazon-web-services amazon-s3 openshift carrierwave


【解决方案1】:

使用 gem 'fog' 和 gem 'carrierwave' 使用这个 sn-p

CarrierWave.configure do|config|
 config.fog_credentials = {
  provider:              'AWS',
  aws_access_key_id:     'AWS_ACCESS_KEY',
  aws_secret_access_key: 'AWS_SECRET_KEY',
  region:                'region-name',
  host:                  's3.example.com',
  endpoint:              'https://s3.example.com'
 }
 config.fog_directory = 'name of the bucket'
 config.fog_public = 'false'
 config.fog_attributes = {'Cache-Control' => "max-age=#{365.to_i}" }
end

【讨论】:

  • OP 正在使用 Carrierwave-aws gem,它试图完全替换雾 gem。 “使用官方支持的 AWS-SDK 库进行 S3 存储,而不是依赖雾。”
猜你喜欢
  • 2017-09-29
  • 1970-01-01
  • 2012-01-22
  • 1970-01-01
  • 2015-03-17
  • 2013-03-07
  • 2012-06-26
  • 2013-10-27
  • 1970-01-01
相关资源
最近更新 更多