깃허브 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
자, 이제 실전 프로젝트를 하러 떠나보자💛