Flask 서버를 EC2에 실행하기HTML+CSS+JS+Flask/배포하기2021. 7. 4. 18:02
Table of Contents
기본 설정
- 아래 링크에 들어가서 기본적인 EC2 설정을 한 후에 Filezilla에 파일을 업로드하고 git bash로 EC2에 접속해서 파이썬을 실행하는 방법을 알아두자.
- EC2 인스턴스 퍼블릭 IPv4 주소도 확인해두자.
- 파이썬 프로젝트에서 DB는 Atlas pymongo를 쓰고 서버는 Flask 서버를 사용한다고 가정하자!
- https://duckgugong.tistory.com/167
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'EC2 Flask Test'
if __name__ == '__main__':
app.run('0.0.0.0', port=5000, debug=True)
- 위의 Flask 코드를 Filezilla에서 EC2로 올린 후에 git bash로 실행하면 아마 안될것이다!
- 이유는 flask 모듈이 없기 때문이다. 따라서 사용할 모듈들을 EC2에 설치해줘야 한다!
- 우선 파이썬 패키지를 설치하기 위해 pip을 설치해야 한다!
sudo apt update
sudo apt install python3-pip
- pip 명령어로 원하는 파이선 패키지를 설치할 수 있다!
- 배포할 때 api를 담당하는 flask와 pymongo가 필요하고 또한 Atlas pymongo를 사용하기 때문에 dnspython도 필요하다.
- 아래 명령어를 git bash로 EC2에 접속해서 필요한 패키지를 설치하기 위해 입력하자.
pip install flask
pip install pymongo
pip install dnspython
- 위의 패키지들을 설치하고 파이썬 프로젝트가 있는 디렉토리에서 다시 실행시키면 잘 돌아가는 것을 확인할 수 있다!
python3 test.py
- 여기까지 하면 http://[EC2 인스턴스 퍼블릭 IPv4주소]:[flask에서 개방한 포트] 즉, http://13.125.143.167:5000으로 접속하면 잘 될 것 같지만 접속이 되지 않는다!
- AWS자체 방화벽에서 5000포트로 접속하는 것을 막고 있기 때문이다. 이것을 풀어주기 위해 포트개방을 해주는 작업이 필요하다.
- AWS EC2에 들어가서 인스턴스를 클릭 → 보안 탭 클릭 후 → 보안 그룹명 클릭
- 인바운드 규칙 편집 클릭
- 22번 포트는 Filezilla 때문에 미리 열려있는 것을 확인할 수 있다.
- flask 사용을 하기 위해 포트범위에 5000을 추가하고 소스는 Anywhere-IPv4으로 선택.
- Http 기본 포트인 80을 추가하고 소스는 Anywhere-IPv4으로 선택.
- 위 설정 후에 다시 http://[퍼블릭 도메인 주소]:5000에 접속하면 잘 되는것을 확인할 수 있다!
- 위 주소는 전 세계 어디서 입력해도 접속할 수 있다!
- 여기까지 하면 내 컴퓨터에서 EC2에 접속해서 파일을 실행 했을 때, 전세계 어디에서도 접속이 가능하지만 내 컴퓨테에서 EC2에 접속하지 않고 파일을 실행 시키지 않으면 접속이 불가능하다!!
'HTML+CSS+JS+Flask > 배포하기' 카테고리의 다른 글
파비콘 설정하기 (0) | 2022.04.24 |
---|---|
og 태그 (0) | 2021.07.04 |
도메인 (0) | 2021.07.04 |
포트포워딩 + nohup (0) | 2021.07.04 |
배포하기 AWS EC2 + Filezilla 세팅 (0) | 2021.07.04 |
@덕구공 :: Duck9s'
주니어 개발자에욤
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!