본문 바로가기

Django

AWS EC2에 github를 이용해 장고 어플리케이션 배포하기1

AWS EC2에 장고 어플리케이션을 배포해보자.

 

준비물 : 장고 어플리케이션, EC2, RDS 혹은 DB

 

 

 

1. EC2 생성

 

먼저 서버로 사용할 EC2를 생성한다. 

생성 후 보안 그룹 ssh 와 http 를 추가한다.

 

EC2  보안 그룹 설정하기 : https://pstudio411.tistory.com/entry/EC2-%EB%B3%B4%EC%95%88-%EA%B7%B8%EB%A3%B9-%EC%84%A4%EC%A0%95

 

 

EC2 ssh 접속하기 : https://5equal0.tistory.com/entry/AWS-EC2-%EC%9D%B8%EC%8A%A4%ED%84%B4%EC%8A%A4%EC%97%90-ssh-%EC%A0%91%EC%86%8D-%ED%95%98%EA%B8%B0

 

 

2. 서버에 접속하여 ssh 키를 생성 후 깃허브에 등록

 

키 생성하기 : https://git-scm.com/book/ko/v2/Git-%EC%84%9C%EB%B2%84-SSH-%EA%B3%B5%EA%B0%9C%ED%82%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0

 

깃허브에 키 등록 : https://velog.io/@skyepodium/Github-SSH-Key-%EB%93%B1%EB%A1%9D%ED%95%98%EA%B8%B0

 

 

3. 파이썬 프로젝트에 설치파일 리스트 만들기

 

자신의 파이썬 프로젝트로 이동하여 해당 명령어를 실행한다.

 

pip3 freeze >> requirements.txt

 

4. ALLOW_HOST 추가하기

 

서버에 올린 어플리케이션에 접속할라면 ALLOW_HOST을 추가해야한다. 프로젝트 settings.py 파일에 ALLOW_HOST 부분에 자신의 EC2 주소를 추가한다.

 

 

5. 프로젝트를 커밋 후 깃허브로 푸시

 

 

6. 서버에 접속하여 아래 라이브러리를 설치한다

 

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install python3-pip

 

무언가 물어보는 창이 뜨면 잘 모르겠으면 그냥 엔터를 친다

 

 

 

7. 서버에서 app 폴더를 생성 후 app 폴더에 자신의 깃허브 저장소를 연결해 pull 한다

 

아마 현재 위치는 /home/ununtu/ 일 것이다.

 

pull 예상 구조 /home/ubuntu

 

 

 

8. 프로젝트 기본 셋팅

 

python3 -m venv myvenv
source myvenv/bin/activate
cd project/
pip3 install -r requirements.txt

 

mysql 오류 발생 시 https://stackoverflow.com/questions/70315196/unable-to-install-mysqlclient-with-pip-on-ubuntu

 

 

 

9. key 파일 복사하기

 

만일 본인이 키 파일을 따로 관리하기 위해 분리했다면 키 파일을 복사해서 해당 프로젝트에 넣는다.

 

 

10. 테스트

 

python manage.py runserver 0:8000 --settings=config.settings

 

만일 본인이 셋팅 파일을 분리했다면 --settings=config.settings.dev 부분을 자신에 맞게 수정한다

 

 

 

서버가 잘 돌아가면 성공이다.

 

 

 

 

참고 : https://nerogarret.tistory.com/45