오늘 드디어 미니 프로젝트가 끝났다!
기존에 수강 했던 "웹 개발 종합반"에서는 'templates'와 'app.py'만을 이용 했기에 수월하게 배포를 했었지만
이번 미니 프로젝트를 진행하면서 website라는 폴더를 새로 만들면서 그안에 '__init__.py, models.py, views.py, static, templates' 등 여러 파일을 만들게 되면서 배포하는 방식도 달라졌다.
<순서>
1. AWS - EC2 서버 구매하기 (1년동안 무료 - 23년 3월 16일 구매완료)
2. AWS - EC2 접속하기
git bash를 실행 시킨후, 아래 입력
ssh -i 받은키페어를끌어다놓기 ubuntu@AWS에적힌내아이피 |
키페어란,
AWS에적힌내아이피란,
★★★ 퍼블릭 주소는 인스턴스를 종료하면 바뀌기 때문에 다음에 다시 사용할때 주소를 확인 해주어야 한다.
3. FileZilla 실행 후 다음과 같이 설정
4. 서버 환경 세팅 (한번 하면 세팅 할 필요 없음!)
- sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 (python3 명령어를 python으로 사용할 수 있게 하는 명령어)
- sudo apt-get update
- sudo apt-get install -y python3-pip (pip3 설치)
- sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1 (pip3 대신 pip으로 입력하기 위한 명령어)
- sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000 (80포트로 들어오는 요청을 5000포트로 넘겨주는 명령어)
- pip install flask (서버 구축을 위한 flask 패키지 설치)
- pip install pymongo dnspython
5. main.py의 app.run() 설정 ★★★★★★★★★★★★★★★★★ (이거때문에 2시간을 고민했다...)
- app.run('0.0.0.0', port=5000, debug=True) 으로 설정 하면 됨
6. nohup 설정
- git bash을 종료 하더라도 서버가 계속 돌아가게 하기 : nohup python 파일.py &
- 서버 종료하기 : ps -ef | grep 'python 파일.py' | awk '{print $2}' | xargs kill
그래서 오늘 뭘 배웠나 )
- main.py의 app.run() 설정해야 하는 이유
- 배포하기
끝내며,
배포는 끝냈지만 여전히 이번에 만든 웹사이트를 온전히 내손으로 직접 만들지는 못한다.
백엔드 부분이 너무 부족하기때문이다...
그래서 목표가 생겼다. 1주차가 다 지나기 전에 최대한 내 손으로 직접 만들어보자!
참고) https://teamsparta.notion.site/5-18b62b60cc7d4343a5917dc8b7121977#0da03343563b4d96b56ee92e4987cac1
'내일 배움 캠프 > TIL' 카테고리의 다른 글
TIL) 2주차 4일 (0) | 2023.03.23 |
---|---|
TIL) 2주차 3일 (1) | 2023.03.22 |
TIL) 2주차 2일 (0) | 2023.03.21 |
TIL) 2주차 1일 (0) | 2023.03.20 |
1주차 3일 (0) | 2023.03.15 |