Python/Flask

Flask - uWSGI 연동하여 서버띄우기

김치카스테라 2020. 3. 18. 00:45

OS: CentOS7

대상 python 버전: python3.6

 

== uWSGI 설치 ==

1. epel-release 패키지 설치

* EPEL: 리눅스 환경을 위한 엔터프라이즈 추가 패키지 저장소
=> Fedora Project 에서 제공되는 저장소로 CentOS 표준 저장소에서 제공되지 않는 최신 버전의 패키지를 제공하는 저장소
yum -y install epel-release

 

2. ius 패키지 설치

* IUS : 엔터프라이즈 환경을 위한 (PHP, Python, Mysql ,Nginx 등) 최신 버전의 패키지를 제공
yum install \
https://repo.ius.io/ius-release-el7.rpm \
https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

 

3. python3.6 및 관련패키지 설치

yum -y install python36u python36u-devel python36u-pip

 

4. python3.6 내의 pip로 virtualenv 설치

python3.6 -m pip install virtualenv

 

5. pip 업데이트 

python3.6 -m pip install -U pip

 

6. 가상환경 생성 및 활성화

python3.6 -m virtualenv <가상환경이름>
source <가상환경경로>/bin/activate

 

7. 프로젝트에 필요한 추가 패키지 설치

pip install flask_sqlalchemy flask pymysql requests

 

8. uWSGI 설치를 위한 준비

yum install -y install gcc

 

9. uwsgi 설치

pip install uwsgi

 

== Flask 프로젝트 실행 ==

 

10. wsgi.py 파일 생성

from flaskapp import app

if __name__=="__main__":
    app.run()

 

11. uWSGI 를 통한 프로젝트 실행

* option: --home : 가상환경 경로, --chdir 파일위치
uwsgi --http :80 --home /home/<가상환경 경로> --chdir <프로젝트 경로> -w wsgi:app

 

 

- 이후에는 .ini 파일을 통한 간편한 실행방법Nginx 와의 연동까지 진행해보아야겠다.