프로젝트를 다 만들었다면, 배포를 해야한다.
아마존 웹 서버에서 제공하는 Elastic Beanstalk를 사용해서 배포를 해보자
1. requirements.txt 파일이 필요
2. eb 설정 파일 필요
#> mkdir .ebextenstion
#> touch .ebextenstions/django.config
# django.config
container_commands:
01_migrate:
command: "python3 manage.py migrate"
02_collectstatic:
command: "python3 manage.py collectstatic --noinput"
03_chmod_sqlite:
command: "chmod 666 db.sqlite3"
04_create_superuser:
command: "python3 create_superuser.py"
option_settings:
aws:elasticbeanstalk:application:environment:
DJANGO_SETTINGS_MODULE: develop_diary.settings.prod
aws:elasticbeanstalk:container:python:
WSGIPath: develop_diary/wsgi.py
aws:elasticbeanstalk:container:python:staticfiles:
"/static/": "staticfiles/"
eb 배포 설정파일.
container_commands 는 배포 시 서버에서 사용 될 명령어를 순서대로 적어 놓는 부분
option_settings는 배포 설정 사항을 정한다. 정적파일의 위치, wsgi파일의 위치등을 적는다
그리고 manage.py 가 있는 위치에서 모든 파일을 압축한다.
이 때 가상환경 디렉터리는 포함되면 안된다. 포함됐을시 설정사항이 반영되지 않아서 에러가 난다.
그 후에 aws elastic beanstalk 콘솔에 접속해서 어플리케이션을 생성하고,
그 어플리케이션에 압축 파일을 올린다
그러면 배포가 완성된다
이 모든 내용은 AskDjango 강의를 통해서 배웠습니다 감사합니다.
댓글
댓글 쓰기