aws ec2 로 배포를 해보려고 한다.
로그인과 회원가입은 생략하고 바로 ec2의 인스턴스로 넘어가면
나는 이미 인스턴스를 하나 등록했기 때문에 인스턴스 하나가 등록되어 있지만, 처음 시작하면 없을 것이다.
처음 시작했을 때는 우측 상단의 인스턴스 시작을 클릭하고, 표시한 부분을 차례로 클릭해준다.
네트워크는 HTTP 를 같이 체크해주고, 우선 우분투 가상 머신을 이용해서 배포해보려고 한다. 키 체인은 보안상 정해주는 것이 좋지만 난 실제 런칭할 서비스가 아니기 때문에 정해주지 않은 채로 넘어갈 것이다.
그러면 이제 우분투 콘솔창이 나온다.
처음 우분투 콘솔창을 들어가면 venv 나 내 깃 레포리지 중 아무것도 없는 상황이기 때문에 ssh-keygen -t rsa -C 내_깃허브_이메일
을 처준 뒤 나오는 /home/... 링크를 복사해
cat /home/...(아까 복사한 우분투 링크)
라고 콘솔에 치면 내 키체인이 나오게 된다.
내 깃허브의 Setting > SSH and GPG keys > new SSH key 를 클릭해서 방금 복사한 키체인으로 새 ssh 키를 만들어 그걸 복사한다.
그 뒤에 다시 우분투 콘솔로 돌아와서
git clone 내_레포리지_ssh_링크
를 친 뒤 ls
를 치면 레포리지가 잘 clone 된 걸 확인할 수 있다.
이제 cd 내 깃허브 레포리지
를 쳐서 디렉토리를 바꿔준 다음 sudo apt update
를 통해 필요한 기능을 업데이트 해준다. 업데이트가 다 되었으면 sudo apt upgrade
를 통해 최신버전으로 업그레이드 해준다.
이 뒤에 디폴트 설정을 체크해준 뒤 다시 콘솔창에 돌아오고 python -m venv venv
를 쳐주고 ls
로 확인해보면 venv 가 정상적으로 생성된 것을 확인할 수 있다.
source venv/bin/activate
으로 가상환경을 켜주자.
마지막으로 pip install -r requirements.txt
를 해주면 runserver 을 할 준비가 끝났다.
마지막으로 runserver 을 해주기 전 해야할 설정이 있다. 바로 포트를 열어주는 것이다. 나는 8000번 포트를 사용할 예정인데, 프로젝트를 처음 실행하면 8000번 포트가 열려있지 않다.
다시 ec2 페이지로 가서 인스턴스 > 보안 > 인바운드 규칙 > 우측 파란 글자
를 클릭하면 아래와 같은 화면이 나오는데, 인바운드 규칙 편집을 클릭해서
Custom TCP 라고 되어있는 부분에 8000 번 포트를 추가하고 접소할 수 있는 아이피를 0.0.0.0 (어디서나) 로 설정해준다.
이 뒤에 다시 우분투 콘솔에서
python manage.py runserve 0:8000
을 클릭하면 어디서나 접속할 수 있는 서버가 열린 것이다!
나는 8000번 포트를 열었으니 인스턴스 창의
퍼블릭 IPv4 주소에다 :8000 을 해주면 된다. 그러니까 13.239.32.107:8000
으로 접속하면 내가 만든 프로젝트가 보인다는 말이다.