미니 프로젝트를 진행함에 있어, 게시판 CRUD 구현과 서버 배포도 맡게 되었다. 사실 서버 배포 경험이 아예 없다고 해도 무방할 정도로 무지했었기 때문에 이 기회에 제대로 내 것으로 만들어보고 싶었다.
$ ssh -i [key페어 파일 넣기] ubuntu@[퍼블릭 ip주소]
EC2 관리 콘솔 → 보안그룹 → launch-wizard-1
클릭**# port forwarding : 80포트로 들어오는 요청을 5000포트로 넘겨주는 명령어(꼭 해야함 중요!!)**
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
처음에 file zilla로 실행할 프로젝트를 가져왔는데, 파일 용량도 크고 중간에 서버 연결이 끊겨서 진전이 없었다. 그래서 팀장님의 도움으로 다음과 같이 진행했다.
clone repository
git clone [프로젝트 주소]
into repository
cd [레포지토리]
package install
실행하는데 필요한 패키지 설치
메모! pip install dotenv
로 했다가 에러가 발생했는데, pip install python-dotenv
로 해야 한다!
pip install pymongo
pip install python-dotenv
pip install dnspython
.env(gitignore되어있는) 파일을 넣어준다.
이렇게 진행하고 해당 주소로 들어갔는데도 해당 주소로 안들어가졌다.
그래서 다음과 같이 진행
flask run --host=0.0.0.0
nohup flask run --host=0.0.0.0
강제 종료 시, 해당 경로가 맞는지 다시 확인!
이 명령어를 못 찾아서 포드님의 도움을 받았다…그저 갓……👍🏻
kill $(pgrep -f flask)
aws는 공부가 많이 필요한 것 같다. 이번 미니 프로젝트를 준비하면서 덕분에 좋은 경험과 공부가 됐지만 배포하는 과정에서 너무 헤맸기때문에 앞으로 aws에 대해서도 더 공부해야 할 필요성을 느꼈다.