파일질라 : 클라우드 환경에 파일을 옮기기 위해서 사용
가비아 : 도메인을 구입, ip 주소와 도메인을 매칭시켜줌
프로젝트를 서버에 옮기기
localhost: 5000 에 몇가지 세팅을 더 하면 모두가 볼 수 있는 페이지를 열 수 있다.
하지만 내 컴퓨터를 서버로 역할을 하려면
1. 컴퓨터가 항상 켜져있고 프로그램이 실행되어 있어야 하며
2) 모두가 접근할 수 있는 공개 주소인 공개 IP 주소(public ip address)로 나의 웹 서비스에 접근할 수 있도록 세팅 해야한다.
우리는 AWS라는 클라우드 서비스에서 편하게 서버를 관리하기 위해서 항상 켜 노흥ㄹ 수 있는 컴퓨터인 EC2 사용권을 구입해 서버로 사용할 것이다.
## aws login
iterm 에서 아래와 같은 명령어를 치면 접속가능
ssh -i <<pem key>> ubuntu@<<aws ip 주소>>
## aws setting
# python3 라고 치는 대신 python을 쓰게 한다.
# python3 -> python
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
# Pip 설치
# 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
# localhost 5000을 떼는 명령어
# port forwarding
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
flask, pymongo, dnspython package 설치
aws에 5000, 80 을 열어놓았다. (aws 보안 탭에서 설정가능)
www.naver.com:80 을 쳐도 연결이 된다.
왜냐하면 80이 생략되도 연결이 되는 형태인가보다
80으로 얘를 받아서 5000에다가 연결시켜주면 된다.
백그라운드로 돌리기ㅣ
nohup python app.py &
백그라운드 강제종료하기
ps -ef | grep 'python app.py' | awk '{print $2}' | xargs kill