저번에 플라스크에 올린 코드를 그대로 aws에 올리려한다
flask에 올린 코드는 로컬에서만 실행가능하다.
나는 로컬은 필요없기에 결국 다시 aws를 잡고 그안에 배포시켜야 한다.
다음으로 진행할 내용은 aws에 flask를 배포하여 middleware없이 진행한 내용임 따라서 안전하진 않기때문에 보안을 신경쓴다면 wsgi, nginx를 설치하고 실행하여야한다.
aws에서 포트 주소 열기
사용하는 인스턴스에서 플라스크를 위한 포트주소를 열어주어야 한다.
인스턴스 -> 보안 -> 인바운드 규칙 편집
나는 다음과 같이 5개의 보안규칙을 작성해주었음
aws 터미널로 이동 기본 파일 설치
sudo apt-get update
sudo apt-get upgrade
sudo install python3-pip
pip install flask
pip install pymongo
pip install dnspython
git가져오기
git clone [github 주소]
해당 파일로 이동
cd / [파일명]
실행할 서버 입력
python3 app.py
그러면 이런거 나옴 modulenotfounderror하면서 없는 라이브러리 설치하라고 나옴
그거 다 설치해주면 됨
pip install matplotlib
pip install mediapipe
pip install tensorflow
pip install pyttsx3
sudo pip install -U skikit-learn
등등 다 설치하고 나면
뭐 이런식으로 실행되고
aws 인스턴스로 가서 퍼블릭 ip주소확인후
http://aws ip주소 :5000
하면 이렇게 됨..
error1
code 400, message Bad reques version
=> 주소 https 를 http로 바꾸셈
error2
템플릿 에러가 나는 경우에는
html파일이 template 폴더에 들어있는지 확인