AWS ElasticBeanstalk 정적 파일 호스팅

maintain·2020년 8월 13일
0

Elastic Beanstalk(이하 EB)에서 django 배포 시 정적 파일들이 정상적으로 로드되지 않습니다. 이를 해결하려면 두 가지 방법이 있습니다. 첫째는 S3 등 정적 파일을 다른 서버에서 제공하도록 하는 것이다. 기본적으로 이 방법이 비용이 저렴하고 권장되는 방법입니다. 두 번째는 collectstatic 명령을 통해 한데 모으고 서버(nginx, apache 등)가 직접 정적 파일을 제공하도록 설정하는 것입니다. 이 글에서는 빠르게 개발용으로 간편하게 쓸 수 있는 두 번째 방법에 대해 알아봅니다.
두 번째 방법에 대해 구글링하면 django.config 파일에 다음과 같이 추가하라는 내용이 많습니다.

aws:elasticbeanstalk:cantainer:python:
  /{uri명}: {setting의 BASE_DIR 기준 정적 파일의 상대 경로}

이는 현 버전(Python 3.7 running on 64bit Amazon Linux 2/3.1.0) 기준으로 유효하지 않으며 다음과 같이 다른 파일을 작성해야 한다.
.ebextensions/static-files.config

  aws:elasticbeanstalk:environment:proxy:staticfiles:
    /static: setting의 BASE_DIR 기준 정적 파일의 상대 경로

참고
https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/environment-cfg-staticfiles.html#environment-cfg-staticfiles.namespace

0개의 댓글