본문 바로가기
카테고리 없음

[Django Framework (7) 배포] 내일배움캠프 AI트랙

by lovvepearl 2022. 1. 25.

깃허브 repo를 하나 생성하고

업로드를 하기 전에

장고에서 해야할 작업이 있다.

 

1. DB 삭제

 

2. 각각의 앱 안에 migration 폴더에 __init__.py 외의

    다른 파일 모두 지우기

 

3. settings.py 수정

 

아래와 같이 수정해준다. 

DEBUG = False

ALLOWED_HOSTS = ["*"]

 

깃허브에 push한 자료는 AWS EC2 컴퓨터에서

git clone 할 것이다. 

 

AWS 인스턴스를 생성하고 연결을 클릭하면 아래와 같은

터미널이 실행된다. 

(EC2는 리눅스 OS 기반 컴퓨터임으로 명령어로만 작동한다)

 

 

python3와 git을 설치한다. 

Sudo apt-get update

git clone 하여 repo를 내려받는다.

Git clone 개인repository주소

잘 내려받아 졌다면 repo이름으로 된 폴더를 조회할 수 있다. 

 

아래 명령들을 실행시켜준다.

 

sudo apt-get install python3-pip -y

pip3 install django

pip3 install git+https://github.com/jazzband/django-taggit.git@master

pip3 install django-taggit-templatetags2

python3 manage.py makemigrations

python3 manage.py migrate

 

여기까지 진행시키게 되면 EC2 컴퓨터에서 장고가 실행이 되고

장고가 우리가 생성한 모델을 인지할 수 있다.

 

서버를 실행시켜준다. 

 python3 manage.py runserver 0.0.0.0:8000

 

AWS의 퍼블릭 IP 주소 뒤에 :8000 을 붙여주면

웹페이지를 볼 수 있다.

 

포트포워딩을 통해 포트번호를 떼도 동작할 수 있도록 한다.

(우리가 항상 접하는 모든 웹사이트는 기본적으로 :80이 생략되어있는 상태인데,

:8000을 :80으로 변경하여서 생략가능하도록 만들어주는 것이다.)

sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8000

 

EC2 컴퓨터가 꺼져도 동작할 수 있도록 하려면 Nohup을 사용한다.

 

nohup python3 manage.py runserver 0.0.0.0:8000 &

 

이제 도메인을 구매하고,

구매한 도메인의 DNS를 설정할때

퍼블릭 IP 주소를 넣어주면 배포가 완료된다. 

 

도메인을 연결하는 자세한 과정은 아래 블로그에

상세히 설명해두었다😇

 

[AWS, Filezilla, gabia 활용하여 배포하기] 웹프로그래밍 A-Z 내일배움캠프 AI트랙

 

[AWS, Filezilla, gabia 활용하여 배포하기] 웹프로그래밍 A-Z 내일배움캠프 AI트랙

서버가 언제나 요청에 응답하려면 서버 컴퓨터가 항상 켜져있어야하고, 접근가능한 IP주소를 가지고 있어야 합니다. 하지만 로컬환경에서 작업을 해왔기 때문에 내 컴퓨터를 계속 켜둘수는 없

malang-e.tistory.com

 

자, 이제 실전 프로젝트를 하러 떠나보자💛