본문 바로가기
AWS/Part 2. Ch02 소규모 아키텍트

CH02_17 Django 개발 결과를 EC2에 배포하기

by Engineer-Lee 2022. 4. 18.
반응형

1. EC2 하나를 생성하자

Ubuntu 20.04 LTS 버전으로 만들었다.

키페어는 전에 만든 키페어를 사용했고 나머지는 기본 옵션 그대로 진행하자

 

 

2. 인스턴스에 접근하기 위해 putty를 실행해서 Host Name에 ubuntu@[퍼블릭 IPv4 DNS 주소 넣기]를 입력하자

Connection 메뉴의 SSH의 Auth는 다음처럼 설정한다.

Private key file은 전에 만들어둔 ppk파일을 이용하였다.

 

 

 

 

3. Session에서 project1이라는 이름으로 Save를 했다.

 

 

 

4. 이제 Open 버튼을 누르면 우분투가 잘 켜진다.

 

 

 

5. EC2 우툰부 인스턴스에서 apt패키지를 다운로드하기 위해 sudo apt-get updatesudo apt-get install build-essential 명령어를 입력한다.

 

 

6. 파이썬을 사용하기 위해 sudo apt-get install python3sudo apt-get install python3-pip 명령어를 입력한다.

 

 

 

7. vscode 터미널에서 pip freeze >> requirements.txt를 통해 다운로드 받은 패키지들을 requirements.txt파일에 나타낸다.

 

 

 

8. github에 커밋을 하기위해 우툰부ec2에서 ssh-keygen -t rsa 명령어를 입력한다.

그 후 Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): 에서는 엔터를 입력하고

Enter passphrase (empty for no passphrase): 에서는 사용할 비밀번호를 입력하자

 

 

9. cd .ssh를 입력한 후 ls를 입력해보면 id_rsa.pub 파일이 생성된걸 알 수 있다. 

cat id_rsa.pub를 입력하면 나오는 deploy key값을 그대로 복사한다.

 

10. github 저장소에 Settings에 Deploy keys 메뉴로 들어가서 Add deploy key를 클릭하자

 

 

Title은 second로 정했고 Key는 복사한 deploy key값을 넣어준다.

 

 

11.  우분투 EC2에 ssh-keygen -t rsa -C "

그 후 그냥 엔터를 입력하자

 

 

12. cat ~/.ssh/id_rsa.pub을 입력한다.

그러면 퍼블릭 키가 나오는데 이것도 복사한다.

 

 

13. github 저장소 Settings가 아닌 계정의 Settings에 들어가서 SSH and GPG keys 메뉴에 들어가서 New SSH key버튼을 누르자

 

 

14. Title은 second로 했고 Key는 아까 복사한 퍼블릭 키 값을 붙여넣는다.

 

15. github저장소에서 아래 코드를 복사한다.

16. 우분투 EC2에 다음 명령어를 입력한다.

sudo apt-get install virtualenv 명령어로 가상환경 패키지를 다운로드 한다.

 

 

17. virtualenv --python=/usr/bin/python3 myvenv으로 가상환경을 만든다.

그 후  requirements.txt에 있는 패키지를 다운받기위해 sudo apt install python-pip

pip3 install -r requirements.txt를 입력한다.

 

 

 

18. 만든 ec2 인스턴스의 인바운드 규칙을 다음처럼 추가한다.

 

 

19. 우분투 EC2에 있는 setting.py에 ALLOWHOST 부분에 퍼블릭 IPv4 DNS의 주소를 추가한 후
 python3 manage.py runserver 0.0.0.0:8000 명령어를 입력하면 잘 작동하는걸 볼 수 있다.

 

 

20. SSH 연결이 끊겨도 ec2 서버가 계속 호스팅 할 수 있게 해야한다.

우선 작동중인 서버를 ctrl z로 중지 시킨후

bg 명령어를 입력하고 disown -h 명령어를 입력하자

반응형