[5주차] [#04] Flask 서버 실행해보기

Yun Hyuk Ko·2022년 10월 22일

AWS

목록 보기
3/9

1) 팬명록 완성본을 filezilla로 EC2에 업로드해봅니다.

  • 파일질라에서 homework 폴더 째로 드래그 드롭으로 EC2 인스턴스의 home/ubuntu 폴더에 업로드합니다.(간단) / static, templates, app.py 3개만 드롭

  • 그리고 실행보세요

python app.py
  • flask가 깔리지 않았다는 문구가 눈에 보일거에요

2) pip로 패키지를 설치하기

우리가 file → setting → .. 에서 + 버튼 누르고 설치했던 작업을, 명령어로 하면 이렇게 됩니다.

ubuntu@ip-172-31-0-129:~/sparta$ (경로)
pip install flask

3) 하는 김에, 다른 패키지들도 설치해줄까요?

pip install pymongo dnspython

설치가 되었다면, 실행해 봅니다.

python app.py


4) 다시 flask 서버를 실행해보기

  • 아래 명령어로 flask 서버를 실행합니다.
python app.py
  • 서버 실행이 되면, 크롬에서 접속을 해봅니다.
크롬 브라우저 창에 아래와 같이 입력합니다.

http://[내 EC2 IP]:5000/

아직, 작동하지 않을 걸요! → AWS에서 약간의 설정이 더 필요합니다.


5) AWS에서 5000포트를 열어주기

  • EC2 서버(=가상의 내 컴퓨터)에서 포트를 따로 설정하는 것 외에도,
    AWS EC2에서도 자체적으로 포트를 열고/닫을 수 있게 관리를 하고 있습니다.
  • 그래서 AWS EC2 Security Group에서 인바운드 요청 포트를 열어줘야 합니다.
  • 일단, EC2 관리 콘솔로 들어갑니다. 그리고 보안그룹(영문: Security Group)을 눌러 들어갑니다.
  1. 보안 그룹 클릭
  2. 인바운드 규칙 편집
  3. 규칙 추가 > 포트범위 설정된 8000으로 설정, 추가로 80 하나 더 설정 > 소스: Anywhere-IPv4
  4. 규칙저장
  5. 브라우저 접속 확인 (http://13.125.117.89:8000/)

터미널을 끄면? 브라우저로 접속이 안된다. 이 작업은 다음 포스팅에서 다룰 예정이다.


[더 알아보기] 4가지 포트를 추가해봅니다. Anywhere-IPv4,Anywhere-IPV6 를 클릭!

→ 80포트: HTTP 접속을 위한 기본포트

→ 5000포트: flask 기본포트

→ 27017포트: DB 접속 포트

→ 22포트: SSH

more) 어떻게 되는걸까? 포트 번호 없애기 - 기본 개념

우리는 이미 포트포워딩 세팅을 해뒀기 때문에, 여기서는 개념만!

  • 지금은 5000포트에서 웹 서비스가 실행되고 있습니다. 그래서 매번 :5000 이라고 뒤에 붙여줘야 하죠. 뒤에 붙는 포트 번호를 없애려면 어떻게 해야할까요?

  • http 요청에서는 80포트가 기본이기 때문에, 굳이 :80을 붙이지 않아도 자동으로 연결이 됩니다.

  • 포트 번호를 입력하지 않아도 자동으로 접속되기 위해, 우리는 80포트로 오는 요청을 5000 포트로 전달하게 하는 포트포워딩(port forwarding) 을 사용하겠습니다.

  • 리눅스에서 기본으로 제공해주는 포트포워딩을 사용할 것입니다. 그림으로 보면 아래와 같습니다.

  • more) 다시 접속해봅니다!

    • http://내아이피 → 잘 작동하는 것을 확인할 수 있습니다.
    • 이제 app.py 파일을 수정하고, 다듬어서 올리면 진짜 프로젝트가 되겠죠?
profile
기억보다 좋은건 기록이다

0개의 댓글