나는 내가 만들었던 프로젝트를 남에게 배포해보았다. 어떻게 배포했는지 알아보자.
만들었던 프로젝트가 만약 PC가 꺼진다면 어떻게 될까? 그렇다, 서버도 같이 꺼지게 된다. 그러기 위해서는 컴퓨터를 계속 켜야할 수밖에 없다. 사실상, 불가능한 일이기 때문에 우리는 컴퓨터를 대여해서 실행 파일을 넣을 것이다.
AWS에서 리눅스의 Ubuntu를 산다. 참고로 prettier를 사면 1년 정도 이용할 수 있고 그 뒤로 유료전환되니 기억해두자.
이를 실행시키고 Git bash를 설치한다.
ssh -i /path/my-key-pair.pem ubuntu@[이 부분은 아래 확인]
Git bash에 이렇게 치고 잠시 아래를 본다.
이 부분을 복사한다. 그리고 위의 명령어 [] 부분에 넣는다.
우리가 대여한 PC가 켜졌다. 이 PC는 정말 아무것도 없는 상태이다. 하지만 이 PC를 대여한 이유는 프로젝트를 실행시키 위함이다. 따라서 아래 코드를 입력해 설치하도록 하자.
# python3 -> python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
# pip3 -> pip
sudo apt-get update
sudo apt-get install -y python3-pip
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
# port forwarding
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
다 입력했다면 이제 Filezila를 설치하자.
왼쪽의 빨간 박스를 클릭하고 아래와 같이 설정한다.
New site로 PC의 이름을 만들고 호스트에는 AWS의 퍼블릭 ip주소를 넣는다. 그 다음 로그온 유형을 키 파일로, 키 파일은 AWS에서 받은 키를 넣으면 된다.
참고로 왼쪽은 내 PC, 오른쪽은 대여한 PC이다. 오른쪽 PC에 ubuntu 파일 안에 test파일을 생성해보자. 그리고 Git bash로 확인해보자.
test 파일이 있다. 이제 이 안에 우리가 만들었던 프로젝트 파일인 app.py, templates, static 파일을 넣는다. 그리고 Git bash로 확인해보자.
이제 python app.py를 하고 실행이 된다면 내 PC에서 퍼블릭 주소를 입력해보자.
실행이 되는 것을 확인한다. 참고로 nohup python app.py 로 실행하면 Git bash를 꺼도 실행이 된다.
참고로 포트번호 5000과 80번을 보안 설정에서 규칙 추가해줘야 한다.
IP 주소로 되어 있으면 컴퓨터는 알아볼 수 있어도 사람은 알아보기가 힘들다. 따라서 DNS 서버에서 도메인을 할당받을 수 있는 가비아 사이트를 사용하겠다.
DNS 관리 서버에서 설정을 누른다.
위와같이 레코드를 수정하여 자신의 퍼블릭 주소를 넣는다. 설정이 끝나고 자신의 도메인으로 입력해보자. 내가 만든 도메인은 클릭!