본문 바로가기
DJango

[AWS 배포] DJango 프로젝트 AWS로 완벽하게 배포하기 (2) - 우분투 설정 & nginX 설치

by 지식을 쌓는 개구리 2024. 7. 7.

 

시작에 앞서 안내하는 말

이 포스트는 총 5개의 포스트로 이뤄져있으며

해당 포스트를 따라 차근차근 따라하면 AWS로 DJango 프로젝트 배포를 성공적으로 마칠 수 있게

사진을 포함한 명령어를 모두 정리하여 기술해두었다.

 

주의할 점과 또 부탁할 말은 아래 포스팅의 순서대로 꼭 모든 세팅과 과정을 잘 지키며 진행했으면 좋겠다.

 

이 5개의 글은 AWS로 DJango 프로젝트를 배포하는데 있어 이전에 내가 고민했던 것과 

경험했던 것과 오류의 해결법, 그리고 시행착오로 고생했던 것을 모두 반영하고

또 개념적인 설명도 함께 붙여 설명한다.

 

5개의 글을 빠짐없이 차근차근 따라온다면 문제없이 장고프로젝트를 배포에 성공할 수 있을 것이다.

잘 진행되길 바라고 또 문제가 있거나 배포 진행방식에 있어 더 좋은점이 있다면 

언제든 자유롭게 의견을 댓글로 달아주었으면 좋겠다.

순서

- 배포전 프로젝트 세팅 방법-

https://choiet.tistory.com/34

- 배포 진행 -

https://choiet.tistory.com/29

https://choiet.tistory.com/30

https://choiet.tistory.com/31

https://choiet.tistory.com/32

=> 순서를 꼭 잘 지켜 진행하자!



DJango 프로젝트 AWS로 완벽하게 배포하기 (2) - 우분투 설정 & nginX 설치

 

인스턴스를 클릭하고 "연결"버튼을 누르자

 

연결 버튼 클릭 

 

다음과 같은 화면이 출력된다.

 

우분투 기본 설정을 진행해주자.

처음으로 해야할 것은 이 OS 자체에 대한 업데이트가 필요하다.

 

1. sudo apt-get update

=> 이 OS에서 다운받아야하는 것들이 있는지 기본 체크하는 과정이다.

 

2. sudo apt-get upgrade

=> 업그레이드 하는 과정

 

과정중 y/n나오면 다 y 누르면 된다.

 

 

계정 비밀번호 설정

root 계정에 대한 비밀번호 설정이 필요하다.1. sudo passwd root=> 최상위 계정에 대한 비밀번호 설정이 필요하다. 입력할 때는 텍스트가 뜨지 않는다.

 

2. su=> 확인 방법은 다음과 같이 su 명령어를 입력하고 이전 비밀번호를 입력해보면 된다.

그럼 다음과 같이 ubuntu에서 root로 바뀐것을 알 수 있다.

 

3. exit=> 다시 로그아웃하고 나올 때는 exit입력하면 된다.

 

 

ubuntu 계정에 대한 비밀번호 설정이 필요하다.

1. sudo passwd ubuntu

=> 마찬가지로 우분투도 진행해준다.

 

이 계정에 대한 비밀번호들은 절대로. 까먹으면 안되기에 잘 적어둬야한다.

 

화면 지울때는 clear 쓰면 된다.

 

 

 

서버에 대한 지역 설정

1. sudo locale-gen ko_KR.UTF-8=> 지역설정

 

2. sudo dpkg-reconfigure tzdata=> 시간 설정=> 이 명령어를 입력하면 아래와 같은 화면이 출력된다.

 

아시아로 선택해서 엔터

 

서울로 선택해서 엔터

 

3. sudo shutdown -r now

=> 서버를 한번 재부팅 해주자

(sudo의 의미는 관리자 권한으로 실행시키는 것이라고 알면됨)

 

 

nginX 설치

클라이언트가 서버를 요청을 하게 되면 바로 받는 애가 바로 nginx라는 웹서버이다.

웹서버는 프록시의 역할을 하거나 전달하는 등 중개인의 역할, 또한 정적 파일을 제공하는 주된 기능을 수행한다.

 

1. sudo apt-get install -y nginx

=> 엔진x 설치

 

2. 보안그룹 인바운드 규칙 추가

 

이 퍼블릭 ip주소를 복사해서 

 

그 바로 옆에 있는 "보안"클릭 

 

그 페이지의 보안그룹 및에 링크 클릭

 

=> 그럼 아래와 같이 인바운드 규칙을 추가할 수 있는 부분이 존재한다.

 

보안그룹은 윈도우로 생각하면 방화벽이다.

우분투라는 이 서버의 기준에서 인바운드, 즉 들어오는 것들에 대한 방화벽이다.

아웃바운드는 서버 입장에서 나가는 것, 어떤 ip로 데이터를 보내줄 것인지에 대한..

 

우리가 url로 이 서버에 접근하려면 추가적인 규칙을 추가해줘야한다.

이전 사진에서 보이는 "인바운드 규칙 편집" 클릭 > 위 사진에서 "규칙추가"클릭

 

 

유형: HTTP

범위는 0.0.0.0/0으로 드롭다운에서 선택 

"규칙저장"클릭

 

그럼 이렇게 규칙이 하나 더 생겨서

80포트 http로도 접근이 가능할 수 있게 해두었다.

(22포트는 이전 우분투로하는 것 연결)

 

그럼 이제 우리가 아까 전에 복사했던

퍼블릭IPv4 주소를 복사해서 링크창에 넣어보자

다음과 같이 잘 접속되는 것을 알 수 있다. -> 인바운드 규칙 설정이 잘 된 것, 이제 외부에서도 접근이 가능하다.

 

 

엔진엑스의 목적 - 클라이언트가 서버에게 요청을 보내고 그걸 받자마자 처리해주는 1차적 서버이다.

장고가 연산을 해야하는 것들은 장고로 토스해주고, 장고가 굳이 연산하지 않아도 되는 static파일같은 경우

바로 엔진엑스가 응답을 해주는 것이다.

 

그 다음 시간엔 파이썬 설치를 하고 깃허브에서 프로젝트 코드 받아와서 프로젝트를 유니콘을 통해 실행하고

그 서비스를 엔진엑스와 연동시키는 과정을 진행할 것이다.

 

 

https://choiet.tistory.com/31

=> 이어서 계속 진행