[AWS] EC2 Ubuntu 서버 > 가상환경 구축 / Django 설치

히로그·2023년 1월 26일
0

☁️ 클라우드 서비스 제공 형태 ☁️

SaaS(Software as a Service)

인프라 + 플랫폼(OS) + 애플리케이션
.. SNS, 블로그, 웹 메일, G Suite, Dropbox, Microsoft Office, 최근엔 한글도!

* 편리하지만 자유도 낮음
* 바로 사용할 수 있기 때문에 작업량이 적음
* 특별한 지식이 필요없음
* 단말기 외에 준비할 것 없음

PaaS(Platform as a Service)

인프라 + 플랫폼 까지만 제공
OS가 설치된 서버에 사용자가 애플리케이션 등을 설치해서 사용
.. 임대서버

* 애플리케이션 설치 마음대로 할 수 있지만, 대응하지 않는 애플리케이션도 있음
* 서버 관리에 대한 지식 필요
* 경우에 따라, 애플리케이션 준비해야 할 필요 있음

IaaS(Infrastructure as a Service)

인프라
네트워크나 서버 머신 등을 제공

* 자유도 높음
* 사용하려면 세팅이 필요
* 서버 관리에 대한 지식 필요
* 경우에 따라, 애플리케이션 준비해야 할 필요 있음

💻 Amazon EC2

(Amazon Elastic:탄력있는 Compute Cloud)
:: 클라우드에서 확장 가능한 컴퓨팅 용량을 제공하는 서비스
:: 서버에 필요한 세트를 클라우드에서 빌릴 수 있음

원하는 수의 가상 서버 구축하고 보안 및 네트워킹 구성하여 스토리지 관리

Auto Scaling

트래픽 늘어나면 알아서 서버를 확장해줌
서버의 액세스 상태에 따라 서버 대수를 늘리거나 줄이는 기능


💻 EC2 - Ubuntu서버 > 가상환경 구축> Django 설치

Ubuntu 서버니까 Linux 환경에서 설치하는 방법.

1. poetry 설치

   macOS, Windows도 동일
  $ curl -sSL https://install.python-poetry.org | python3 -

   add poetry to your PATH
  $ export PATH="/home/ubuntu/.local/bin:$PATH"

   잘 설치됐는지 버전 확인
  $ poetry --version

2. poetry 셋팅

   파일 만들어주기
  $ mkdir 파일명

   해당 파일로 이동
  $ cd 파일명

   파일 안에 가상환경 셋팅
  $ poetry init

3. 가상환경에 django 설치

   $ poetry add django

4. 가상환경에 django 실행

   가상환경에 접속
  $ poetry shell

   가상환경의 django 실행
  $ django-admin

5. django 프로젝트 생성

   현재 폴더(.)에서 프로젝트 생성(startproject 프로젝트이름)
  $ django-admin startproject config .

6. django 서버 실행

   장고 서버 실행
  $ django manage.py runserver

   migaration 문제 해결
  $ python manage.py migrate

migration 파일 → DB의 모양을 변형시키는 python 코드가 들어있는 파일
migration을 적용해야 DB를 변형시키게 되고, 작업에 필요한 테이블을 모두 갖을 수 있게 된다.

   admin 계정생성
  $ python manage.py createsuperuser

   다시 장고 서버 실행!!
  $ django manage.py runserver
  http://127.0.0.1:8000

실행 안될 것이다.
WHY❓ EC2 Ubuntu 서버에 설치 해준 장고이기 때문!!

django 접속가능 host 지정

먼저 vi 편집기를 이용해서 seetings.py 파일을 열고 수정해햐한다.

   settins.py 파일 열기
  $ vi ./config/settings.py

입력할 곳에 커서 놓고 i

ALLOWED_HOSTS = ['퍼블릭 IPv4주소']
 대괄호 안에 퍼블릭 IPv4 주소를 넣어 준다

:wq 파일 저장 후 나가기

[vi 명령어]
vi 파일명 : 해당 파일 vi 편집기 실행하여 열기

방향기로 커서 이동 가능

i  : 커서가 위치한 부분에서 입력시작
a  : 커서 바로 다음 부분부터 입력시작

shift + spacebar : 한/영 변환
:(콜론) 맨 밑에 입력가능한 공간 생김

:wq = :ZZ      // 저장 후 종료
:wq 파일이름 // 저장 후 파일 이름 지정
:w               // 저장
:q               // 종료
:q!              // 저장하지 않고 강제 종료

  *  vi 에디터에서는 비정상적으로 종료시 .swp 파일이 생성된다. 필요하지 않은 경우 삭제해도 됨

ESC : 입력모드 종료

AWS 보안 정책에 8000 포트 추가

AWS > EC2 > 인스턴스 > 보안 > 보안그룹 > 보안 그룹 ID 클릭 > 인바운드 규칙 편집

유형 : 사용자 지정 TCP
포트 범위 : 8000
소스 : Anywhere-IPv4

→ 규칙 저장

다시 돌아와서 django 서버 실행해주고
$ python manage.py runserver 0.0.0.0:8000

주소 입력창 0.0.0.0 부분에 퍼블릭 IPv4 주소 바꿔서 다시 엔터!
$ python manage.py runserver ~.~.~.~:8000

django 접속 완료😁

profile
느려도 괜찮아, 할 수 있어 :)

0개의 댓글