Elastic Beanstalk 배포 시 WSGIPath를 인식하지 못하는 문제

maintain·2020년 9월 8일
1

1.

Elastic Beanstalk에서 python django로 배포를 진행할 때 WSGIPath를 다음과 같은 경우 WSGIPath 경로를 제대로 인식하지 못한다.

ProjectHome
├── API
├── background_uploader
├── dynamodb_wrapper
├── google_api_wrapper
├── manage.py
├── Project
│   ├── API
│   ├── Project_inner
│   │   ├── API
│   │   ├── asgi.py
│   │   ├── __init__.py
│   │   ├── setting
│   │   ├── urls.py
│   │   └── wsgi.py
│   ├── manage.py
│   └── static
│       ├── admin
│       └── rest_framework
└── secret_keys

위 경우에서 django startproject 명령으로 생성된 디렉토리는 Project 디렉토리이고 wsgi파일의 경로는 /Project/Project_inner/wsgi.py이며 elastic beanstalk 세팅에서 다음과 같이 작성할 수 있다.
django.config

option_settings:
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: Project.Project_inner.setting.develop_eb
  aws:elasticbeanstalk:container:python:
    WSGIPath: Project.Project_inner.wsgi:application 

수 십 번 정도 시도해본 결과 위 경우에는 제대로 wsgi를 인식하지 못했다. Project 디렉토리까지는 인식하지만 Project 디렉토리 아래의 어떤 파일도 제대로 인식하지 못했다. 이 부분은 버그로 추정된다.

2.

공식 가이드와 유사한 다음 디렉토리 형태로 작성하면 제대로 인식한다.
디렉토리

ProjectHome
├── API
├── background_uploader
├── dynamodb_wrapper
├── google_api_wrapper
├── manage.py
├── API
├── Project_inner
│   ├── asgi.py
│   ├── __init__.py
│   ├── setting
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── static
│   ├── admin
│   └── rest_framework
└── secret_keys

django.config

option_settings:
  aws:elasticbeanstalk:application:environment:
    DJANGO_SETTINGS_MODULE: Project_inner.setting.develop_eb
  aws:elasticbeanstalk:container:python:
    WSGIPath: Project_inner.wsgi:application 

0개의 댓글