[Rails] Carrier Wave의 이미지 투고 [AWS EC2]
6515 단어 carrierwaveRubyRails
필자의 환경
Ruby 2.5.3
Rails 5.2.4.2
gem: fog-aws
Rails는 이미지 투고에서 Carrier Wave를 가져왔지만 gem:fog-aws를 이용해 많은 오류를 겪었기 때문에 앞으로 가져오는 사람들이 힘들 것 같아서 설정을 남기고 싶어요.
같은 환경이라면, 캐리어웨이브.rb에 대한 다음 설정 파일은 가능할 것 같습니다.
carrierwave.rb 설정
config/initializers/carrierwave.rbrequire 'carrierwave/storage/abstract'
require 'carrierwave/storage/file'
require 'carrierwave/storage/fog'
CarrierWave.configure do |config|
if Rails.env.development? || Rails.env.test?
config.storage = :file
config.enable_processing = false if Rails.env.test?
elsif Rails.env.production?
config.fog_provider = 'fog/aws'
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"],
aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
region: 'ap-northeast-1'
}
config.storage = :fog
config.fog_directory = 'あなたのS3のバケット名'
config.asset_host = 'https://s3.ap-northeast-1.amazonaws.com/あなたのS3バケット名'
end
end
CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
주안점
· 정식 촬영 환경에서만 AWS3는 이미지를 유지한다.개발 환경은 로컬에 저장됩니다.
・carrierwave.rb의 보관 목록을 주의하세요.app/config/initializers/carrierwave.rb입니다.
carrierwave.rbCarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
이것은 가장 아래 코드입니다. 기본적으로carrierwave 파일 이름은 일본어를 사용할 수 없기 때문에 사용할 수 있습니다.낙하를 방지할 수 있습니다.
carrierwave.rbaws_access_key_id: ENV["AWS_ACCESS_KEY_ID"],
aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"]
관하여환경 변수를 env 파일에 지정하십시오.
AWS S3 설정
S3 설정도 힘들기 때문에 캡처해서 남기고 싶어요.
S3는 자신의 물통 속성이다.로깅만 사용할 수 있습니다.참고로 아래의 상세한 설정은 모두 무효입니다.
영역 공용 액세스.아래 두 개만 열었어요.
통 정책 편집기예요.각자 통 이름 등을 변경해 주세요.
복사할 수 있도록 아래에 코드를 놓으세요.
구간 정책{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt000001",
"Effect": "Allow",
"Principal": {
"AWS": "あなたのユーザーのARN(IAMから確認)"
},
"Action": "s3*",
"Resource": "arn:aws:s3:::あなたのS3バケット名"
}
]
}
다른 항목이 설정되어 있지 않습니다.
Carrier Wave의 소감.
Carrier Wave의 이미지 크기 등은 편리하지만 AWS EC2로 디자인해 S3를 사용하기는 어려울 수 있습니다.
나도 액티브 스토어를 배우고 싶다.
조금이나마 도움이 되는 기사가 됐으면 좋겠어요!
Reference
이 문제에 관하여([Rails] Carrier Wave의 이미지 투고 [AWS EC2]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoyuki_kt/items/9a2765091a0b235e4d05
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
config/initializers/carrierwave.rb
require 'carrierwave/storage/abstract'
require 'carrierwave/storage/file'
require 'carrierwave/storage/fog'
CarrierWave.configure do |config|
if Rails.env.development? || Rails.env.test?
config.storage = :file
config.enable_processing = false if Rails.env.test?
elsif Rails.env.production?
config.fog_provider = 'fog/aws'
config.fog_credentials = {
provider: 'AWS',
aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"],
aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"],
region: 'ap-northeast-1'
}
config.storage = :fog
config.fog_directory = 'あなたのS3のバケット名'
config.asset_host = 'https://s3.ap-northeast-1.amazonaws.com/あなたのS3バケット名'
end
end
CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
주안점
· 정식 촬영 환경에서만 AWS3는 이미지를 유지한다.개발 환경은 로컬에 저장됩니다.
・carrierwave.rb의 보관 목록을 주의하세요.app/config/initializers/carrierwave.rb입니다.
carrierwave.rb
CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/
이것은 가장 아래 코드입니다. 기본적으로carrierwave 파일 이름은 일본어를 사용할 수 없기 때문에 사용할 수 있습니다.낙하를 방지할 수 있습니다.carrierwave.rb
aws_access_key_id: ENV["AWS_ACCESS_KEY_ID"],
aws_secret_access_key: ENV["AWS_SECRET_ACCESS_KEY"]
관하여환경 변수를 env 파일에 지정하십시오.AWS S3 설정
S3 설정도 힘들기 때문에 캡처해서 남기고 싶어요.
S3는 자신의 물통 속성이다.로깅만 사용할 수 있습니다.참고로 아래의 상세한 설정은 모두 무효입니다.
영역 공용 액세스.아래 두 개만 열었어요.
통 정책 편집기예요.각자 통 이름 등을 변경해 주세요.
복사할 수 있도록 아래에 코드를 놓으세요.
구간 정책{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt000001",
"Effect": "Allow",
"Principal": {
"AWS": "あなたのユーザーのARN(IAMから確認)"
},
"Action": "s3*",
"Resource": "arn:aws:s3:::あなたのS3バケット名"
}
]
}
다른 항목이 설정되어 있지 않습니다.
Carrier Wave의 소감.
Carrier Wave의 이미지 크기 등은 편리하지만 AWS EC2로 디자인해 S3를 사용하기는 어려울 수 있습니다.
나도 액티브 스토어를 배우고 싶다.
조금이나마 도움이 되는 기사가 됐으면 좋겠어요!
Reference
이 문제에 관하여([Rails] Carrier Wave의 이미지 투고 [AWS EC2]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomoyuki_kt/items/9a2765091a0b235e4d05
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Stmt000001",
"Effect": "Allow",
"Principal": {
"AWS": "あなたのユーザーのARN(IAMから確認)"
},
"Action": "s3*",
"Resource": "arn:aws:s3:::あなたのS3バケット名"
}
]
}
Carrier Wave의 이미지 크기 등은 편리하지만 AWS EC2로 디자인해 S3를 사용하기는 어려울 수 있습니다.
나도 액티브 스토어를 배우고 싶다.
조금이나마 도움이 되는 기사가 됐으면 좋겠어요!
Reference
이 문제에 관하여([Rails] Carrier Wave의 이미지 투고 [AWS EC2]), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomoyuki_kt/items/9a2765091a0b235e4d05텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)