슬기로운 세팅 생활

Flask + Nginx + Uwsgi 연동

vhrehfdl 2022. 4. 26. 17:37

1. flask

1-1. flask를 설치한다.

pip install flask

 

1-2. 테스트 웹페이지 생성

# hello.py
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

@app.route("/meet")
def meet():
    return "Nice to meet you!"

if __name__ == '__main__':
    app.run(host='0.0.0.0')

 

1-3. 접속 확인

 

2. uwsgi 설치

2-1. conda를 통해 설치 (conda 설치가 되어 있다 가정)

conda install -c conda-forge uwsgi

 

2-2. uwsgi 파일 생성 

[uwsgi]

module = hello
callable = app

socket = /tmp/flask.sock
chmod-socket = 666
vacuum = true

daemonize = /<경로>/uwsgi.log

die-on-term = true

 

2-3. uwsgi 실행

uwsgi --ini test.ini

 

3. nginx

3-1. nginx 설치

apt-get install nginx

 

3-2. /etc/nginx/sites-available/default 파일 변경

location의 tray_files 부분과 그 밑에를 변경해주어야 한다.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    
    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;
    server_name _;

    location / {
        try_files $uri @app;
    }

    location @app {
        include uwsgi_params;
        uwsgi_pass unix:///tmp/flask.sock;
    }
}

 

3-3. nginx 재실행 및 확인

service nginx restart