Django로 프로젝트를 생성하여 서버를 만들었다.
그러나 서버를 유지시키려면 컴퓨터를 항상 켜놔야 한다는 단점이 있는데 이를 해결해주는 것이 AWS다.
AWS EC2에서 os가 ubuntu인 인스턴스를 생성하였다.
생성하는 것까지는 좋았는데 그럼 저 컴퓨터로 어떻게 들어갈까?
바로 Putty 프로그램을 이용하면 된다.
Putty 프로그램을 실행하면 위와 같은 창이 뜨는데 Host Name칸에 AWS EC2에서 생성한 인스턴스 즉 컴퓨터 ip를 입력하면 된다.
혹시 SSH로 키를 받았다면 SSH>Auth에 들어가면 Private key를 넣는 칸이 있는데 거기에 넣어주면 된다.
접속을 하였다면 AWS에서 받은 컴퓨터 터미널에 접속이 되어있을 것이다.
자 그럼 장고에서 만든 서버를 이 컴퓨터에 옮겨주면 되는데 이땐 Git을 이용하면 된다.
github에 장고 프로젝트를 올렸다 가정하고 진행을 한다면
AWS 컴퓨터 터미널에서 프로젝트 파일하나 생성해 준 뒤 그 파일로 들어간다.
mkdir [파일명] #파일 생성
cd [파일명] #해당 파일로 이동
이후에 git으로 github에 올린 프로젝트를 받아오면 된다.
git init
git remote add origin [깃 주소]
git pull origin master
서버를 실행시키기 전에 가상머신을 생성해줘야 하는데 다시 설치해줘야한다.
sudo apt update
sudo apt install python3
sudo apt install python3-pip
sudo apt install virtualenv
pip install virtualenv
virtualenv venv --python=python3
venv폴더가 생성되고 그 안에 가상환경이 만들어져 있다.
source venv/bin/activate
를 입력하면 앞에 (venv)~~~$ 로 가상환경이 켜진 것을 확인할 수 있다.
이젠 로컬에서 받았던 패키지들을 여기서도 다시 설치를 해줘야한다.
이때 로컬에서 다음과 같은 명령어를 쳐준다.
pip freeze > requirements.txt
pip freeze는 설치된 패키지 목록을 보여주며 이를 requirements.txt를 만들어 저장하겠다는 뜻이다.
그러면 requirements.txt 안에는 패키지 목록들이 들어가 있고 이를 git에 다시 올려 AWS 컴퓨터에서 다시 받고
pip install -r requirements.txt
를 쳐주면 requirements.txt 내부에 있는 패키치들을 한번에 설치하여 준다.
이제 모든 준비가 끝났고 로컬과 같이 migrate해주고 runserver를 해주면
AWS 컴퓨터에서 장고 서버가 돌아간다.