Heroku + Wordpress에서 S3 사용
개요
Wordpress를 Heroku로 운용할 때 Heroku는 정기적으로 빌드를 하고 있으므로 업로드한 이미지가 사라져 버리는 현상이 발생합니다.
heroku의 리포지토리가 dyno라고 하는 단위로 관리되고 있어, Free 플랜이라면 일정 시간 경과 후에 dyno가 재기동되는 사양이 되고 있기 때문. - 【Rails6】 heroku에서 게시한 이미지가 표시되지 않음
따라서 AWS의 "S3"라는 서비스를 사용하여 이미지가 사라지는 현상을 피합니다. Wordpress 플러그인을 사용하여 업로드할 이미지의 저장 대상을 S3로 설정하여 외부에 이미지를 저장합니다.
S3 사용을 위한 준비
먼저 아래의 기사에 따라 Wordpress에서 S3를 사용할 준비를 합니다.
WordPress의 이미지 데이터를 S3에 저장
S3 액세스 권한 설정
S3의 블록 공개 액세스는 다음과 같이 설정합니다.
이 설정을 통해 내 환경에서 다음 두 가지를 달성하는 것을 확인했습니다.
먼저 아래의 기사에 따라 Wordpress에서 S3를 사용할 준비를 합니다.
WordPress의 이미지 데이터를 S3에 저장
S3 액세스 권한 설정
S3의 블록 공개 액세스는 다음과 같이 설정합니다.
이 설정을 통해 내 환경에서 다음 두 가지를 달성하는 것을 확인했습니다.
참고 : Amazon S3 퍼블릭 액세스 블록 사용
버킷 정책 설정은 다음과 같습니다.
버킷 정책
{
"Version": "2008-10-17",
"Statement": [
{
"Sid": "AllowPublicRead",
"Effect": "Allow",
"Principal": {
"AWS": "*"
},
"Action": "s3:GetObject",
"Resource": "<リソース名>/*"
}
]
}
참고:
로컬 환경에서 S3에 연결할 때 오류가 발생합니다.
Wordpress의 로컬 환경에서 S3에 액세스할 때 오류가 발생할 수 있으므로 다음 기사를 따라 처리합니다.
Wordpress에서 S3로 연결하려고 "There was an error attempting to get the region of the bucket"이 발생했습니다.
GD를 Composer에 추가
Wordpress에서 S3를 사용하려면 GD(이미지 파일 조작 라이브러리)를 사용해야 합니다. Heroku에는 기본적으로 GD가 설치되어 있지 않으므로 Composer에서 사용할 수 있도록 구성해야 합니다.
참고 : 이미지 처리 및 GD
먼저 composer.json에 다음과 같이 추가합니다.
composer.json{
"require": {
"ext-gd": "*"
}
}
만든 파일은 wordpress의 루트 디렉토리에 넣습니다. 그런 다음 다음 명령을 실행합니다.
$ composer install
종료 후 composer.lock이 composer.json과 동일한 디렉토리에 작성되면 OK입니다. 나중에 Heroku에 배포 할 때 Heroku는 자동으로 라이브러리를 설치합니다.
참고 : Heroku PHP Support
Reference
이 문제에 관하여(Heroku + Wordpress에서 S3 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kyabetsuda/items/1685557a6973ec1f61df
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Wordpress에서 S3를 사용하려면 GD(이미지 파일 조작 라이브러리)를 사용해야 합니다. Heroku에는 기본적으로 GD가 설치되어 있지 않으므로 Composer에서 사용할 수 있도록 구성해야 합니다.
참고 : 이미지 처리 및 GD
먼저 composer.json에 다음과 같이 추가합니다.
composer.json
{
"require": {
"ext-gd": "*"
}
}
만든 파일은 wordpress의 루트 디렉토리에 넣습니다. 그런 다음 다음 명령을 실행합니다.
$ composer install
종료 후 composer.lock이 composer.json과 동일한 디렉토리에 작성되면 OK입니다. 나중에 Heroku에 배포 할 때 Heroku는 자동으로 라이브러리를 설치합니다.
참고 : Heroku PHP Support
Reference
이 문제에 관하여(Heroku + Wordpress에서 S3 사용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kyabetsuda/items/1685557a6973ec1f61df텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)