AWS EB에 django app 배포하기

참고 : https://youtu.be/L5LDS0vhpZ8

Pasted Graphic.tiff

1. 루트 디렉토리에 .ebextensions/django.config 를 만든다.
내용은

container_commands:
01_migrate:
command: "python manage.py migrate"
02_collectstatic:
command: "python manage.py collectstatic --noinput"
03_createsu:
command: "python manage.py createsu"
leader_only: true
04_chmod_sqlite:
command: "chmod 666 db.sqlite3"
option_settings:
aws:elasticbeanstalk:container:python:
WSGIPath: mysite/wsgi.py

이다.

2. noti/management/commands/createsu.py 를 만든다.
Pasted Graphic 1.tiff

내용은

from django.core.management.base import BaseCommand
from django.contrib.auth.models import User
class Command(BaseCommand):
def handle(self, *args, **options):
if not User.objects.filter(username="admin").exists():
User.objects.create_superuser("admin","id@gmail.com","password")

이다. 이때 색칠한 두부분은 일치시킨다.

3.
Pasted Graphic_1.tiff
위의 부분을 압축시킨다. (이때 상위폴더인 mysite를 압축시키면 안되고 위의 클릭한 부분이 최상위 폴더가 되도록 압축한다.!)

4. EB에 위의 .zip파일을 등록하면 된다.

가상환경에서 django설정

python3 -m venv (폴더명)

예) python3 -m venv myvenv

라 하면

현재 폴더에 가상환경 폴더인 myvenv 가 만들어진다.

django%ec%84%a4%ec%b9%98-mac-0

이제 여기에

source myvenv/bin/activate

로 가상환경을 활성화한 뒤,

install django 를 통해 장고를 설치한다.

django%ec%84%a4%ec%b9%98-mac-1

라 하면

와 같이 mysite 라는 폴더가 만들어진다.

django%ec%84%a4%ec%b9%98-mac-2

mysite 폴더안에는

django%ec%84%a4%ec%b9%98-mac-3

와 같은 파일들이 생성된다.