IT/web, hosting

AWS EC2에서 Flask 실행

seyeonHello 2020. 2. 11. 00:31

안녕하세요!

AWS 프리티어로 EC2를 이용해서 파이썬 웹 프레임워크 Flask를 실행하는 방법을 소개하겠습니다.

 

1. AWS

먼저 EC2 서비스 중 우분투 서버 18.04 선택합니다!

 

그 다음 "프리티어 사용 가능"이라고 표시된 것을 선택합니다

 

다음으로 기존 키 페어가 없다면(처음 실행해본 것이라면), 새 키 페어 선택 후 키 페어 다운로드를 합니다. 키페어 저장 장소는 잘 기억해 둡시다!

이제 "인스턴스 시작" 클릭합니다.

아래쪽 화면에 생성된 인스턴스의 해당하는 정보들이 써있습니다. 여기서 보안그룹의 이름을 기억합니다. 또한 인스턴스의 IPv4 퍼블릭 IP도 기억합니다!

 

그리고 좌측 메뉴바 중 보안그룹을 클릭 합니다. 그 다음 아까 기억한 해당 보안그룹 이름 선택 후, 인바운드 규칙 편집에서 아래와 같이 추가합니다!

 

2. XShell

xshell에 접속하여 새 세션 등록 후 아래 호스트에 아까 기억했던 IPv4 퍼블릭 IP를 입력합니다.

그 다음 범주에서 연결-사용자 인증을 클릭합니다. 그리고 아까 저장한 키 페어를 사용자 키에 등록한 후, 사용자 이름을 ubuntu로 지정해줍니다. 이제 세션을 연결해줍니다~

 

세션 연결 후 shell창에 아파치 웹서버를 설치합니다!

sudo apt-get update

sudo apt-get install apache2

sudo apt-get install liapache2-mod-wsgi

 

그리고 flask 및 여러가지 필요한 모듈들을 설치해 줍니다.

sudo pip install flask

 

flaskapp 디렉토리를 생성해 줍니다.

mkdir ~/flaskapp

sudo ln -sT ~/flaskapp /var/www/html/flaskapp

 

해당 디렉토리로 이동한 후 실행시킬 파일의 이름을 flaskapp.py로 저장하였습니다.

 

그리고 flaskapp.wsgi를 생성하여 다음과 같이 입력했습니다!

import sys

sys.path.insert(0,’/var/www/html/flaskapp’)

from flaskapp import app as application

 

다음으로 vi /etc/apache2/sites-enabled/000-default.conf 한 후, documentRoot /var/www/html 줄 아래에 다음의 코드 추가해줍니다 !!

WSGIDaemonProcess flaskapp threads=5

WSGIScriptAlias / /var/www/html/flaskapp/flaskapp.wsgi

<Directory flaskapp>

   WSGIProcessGroup flaskapp

   WSGIApplicationGroup %{GLOBAL}

   Order deny,allow

   Allow from all

</Directory>

 

마지막으로 아파치를 재 시작 해줍니다.

sudo apachectl restart

 

이제 주소창에 "IPv4 퍼블릭 IP:80" 접속가능하게 됩니다 

 

 

 


참고한 사이트

https://www.datasciencebytes.com/bytes/2015/02/24/running-a-flask-app-on-aws-ec2

 

Running a Flask app on AWS EC2

Published: Tue 24 February 2015 By Frank Cleary In Tutorials. tags: python AWS Flask Four Part series on creating a D3.js graph powered by Flask and SQL Running a Flask app on AWS EC2 Using Flask to answer SQL queries Getting csv data from requests to a SQ

www.datasciencebytes.com

 

'IT > web, hosting' 카테고리의 다른 글

nginx로 로드밸런싱 설정하기  (0) 2023.12.13
AWS EC2에서 RDS 연동후 Flask 적용  (0) 2020.02.22
pythonanywhere flask 배포하기  (2) 2020.02.10