기본 콘텐츠로 건너뛰기

[Flask] Nginx로 배포하기

[Flask] Nginx로 배포하기

Flask를 Nginx로 배포하기

저는 '네이버 클라우드 플랫폼'의 Micro Server를 이용했습니다. 1vCPU 1GB Mem 50GB Disk Ubuntu Server 16.04 64bit

우선 Flask를 사용하기 위한 유저를 추가해줍니다.

$ sudo adduser flask

추가한 flask 계정에 권한을 줍니다.

$ sudo visudo

# User privilege specification

root ALL=(ALL:ALL) ALL

flask ALL=(ALL:ALL) ALL <- 추가

이제 추가한 flask 계정으로 이동합니다.

$ su - flask

Flask 개발에 필요한 프로그램들을 설치합니다.

$ sudo apt-get install build-essential python3 python3-dev

python3-pip nginx uwsgi uwsgi-plugin-python3

파이썬 가상환경을 위한 virtualenv 설치와 가상환경 생성입니다.

$ sudo pip install virtualenv

$ virtualenv flask_env

$ source flask_env/bin/activate

​

(flask_env) flask@ubuntu:~$ <- 이렇게 앞에 가상환경이름이 나오면 가상환경에서 작업중인것입니다.

​

$ deactivate <- 가상환경 비활성화 명령어

가상환경에서 사용할 uwsgi를 설치합니다.

(flask_env) flask@ubuntu:~$ pip3 install uwsgi

이제, Flask와 Nginx의 연동을 위해 관련 설정을 해줍니다.

Nginx 설정

$ sudo nano /etc/nginx/sites-available/default

설정 내용

server {

listen 80 default_server;

listen [::]:80 default_server;

server_name 0.0.0.0;

location / {

try_files $uri @app;

}

location @app {

include uwsgi_params;

uwsgi_pass unix:/home/flask/flask_env/uwsgi.sock;

}

}

uwsgi 설정

$ sudo nano /etc/uwsgi/apps-available/uwsgi.ini

설정 내용

[uwsgi] chdir = /home/flask/flask_app <-flask 경로

uid = flask

gid = flask

chmod-socket = 666

socket = /home/flask/flask_env/uwsgi.sock

module = start <- flask 파일 이름 ex) start.py

callable = app <- app = Flask(__name__) 에서 app 부분

virtualenv = /home/flask/flask_env

uwsgi 설정 파일을 링크해줍니다.

$ sudo ln -s /etc/uwsgi/apps-available/uwsgi.ini /etc/uwsgi/apps-enabled/

테스트 해볼 flask app을 만듭니다.경로는 ~/flask_app/start.py로 하겠습니다.

$ cd ~

$ mkdir flask_app

$ vi start.py

start.py의 코드입니다!

from flask import Flask

​

app = Flask ( __name__ )

​

. route ( '/' )

def hello ():

return 'Hello ILHAN!'

​

if __name__ == '__main__' :

app . run ()

거의 다 끝났습니다!!

Nginx, uwsgi를 재시작해줍니다.

$ sudo service nginx restart

$ sudo service uwsgi restart

끝!

이제 제대로 작동이 되는지 접속을 해보면 됩니다!

from http://ilhan-blog.tistory.com/2 by ccl(A) rewrite - 2020-03-06 05:54:17

댓글

이 블로그의 인기 게시물

Flask 13. pythonanywhere에 배포하기

Flask 13. pythonanywhere에 배포하기 Login: PythonAnywhere It's always a pleasure to hear from you! Ask us a question, or tell us what you love or hate about PythonAnywhere. We'll get back to you over email ASAP. Sorry, there was an error connecting to the server. Please try again in a few moments... www.pythonanywhere.com from http://ohdowon064.tistory.com/124 by ccl(A) rewrite - 2020-03-11 15:54:10

Flask.py #1 설치해보자

Flask.py #1 설치해보자 Flask는 python의 프레임워크라고 할 수 있습니다. Flask를 설치해보자! # 리눅스 -- 접기 이러면 끝 - # pip install flask $ sudo -s 리눅스 같은 경우는 이미 파이썬이 설치가 되어 있을겁니다. # 리눅스 -- 접기 # 맥 -- 접기 이러면 끝 - $ sudo pip install flask 설치가 끝낫으면 Terminal.app 을 열어줍시다. 로 접속하여 파이썬을 설치해 줍니다. [ https://www.python.org/ ] # 맥 -- 접기 # 윈도우 -- 접기 [ https://www.python.org/ ] 로 접속하여 파이썬을 설치해 줍니다. 설치가 끝났으면 [ 고급설정 ] - [ 환경변수 ] - [ 시스템 변수 ] 에서 Path를 찾아줍니다. Path를 찾으셧다면 편집을 누르고 파이썬의 설치 경로와 파이썬 폴더 내의 Script 폴더를 입력해 줍시다. 환경변수까지 끝나셧다면 cmd 창을 키시고 pip install flask 이러면 flask 설치가 끝나게 됩니당 from http://chocoweb.tistory.com/14 by ccl(A) rewrite - 2020-03-07 13:54:54