슬기로운 세팅 생활

[Nginx + Flask + Uwsgi] 초기 세팅

vhrehfdl 2019. 11. 9. 15:20

1. Nginx, Flask, Uwsgi를 설치한다.

pip3 install nginx
pip3 install uwsgi
pip3 install flask
pip3 install uwsgi-plugin-python

 

 

 

2. Flask 실행

- test.py 라는 파일을 만들고 실행하여 결과를 확인한다.

from flask import Flask
application = Flask(__name__)

@application.route("/")
def hello():
    return "<h1>Hello!</h1>"

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

 

- curl 명령어를 실행해서 확인해본다.

curl http://localhost:5000

 

 

 

3. uwsgi 파일 만들기

from test import application

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

 

- curl 명령어를 실행시켜 확인

uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi

 

 

 

4. ini 파일을 만든다.

- 매번 uwsgi 파일을 실행시킬 때 명령어를 써줄 수 없으니 파일을 만들어둔다.

- socket 파일은 아래 실행 명령어를 실행시키면 자동으로 생성 되어진다.

[uwsgi]
chdir = /var/www/html/StoryAI/storyai/web
module = wsgi
socket = /tmp/myproject.sock
chmod-socket = 666

 

- 실행 명령어

uwsgi --ini myproject.ini

 

 

 

5. nginx의 환경설정을 변경한다.

- /etc/nginx/sites-avilable/defalut

- 다른 예제들에서는 location @app을 설정해서 하는데 이거 인식이 잘 안되서 location / { 부분에 설정을 해주니까 되었다.

- sock 파일을 통해서 서로 연결되어진다.

- 여기서 실수 했던게 try_files $url $url\ =404; 부분을 주석처리 안하니까 app.route를 다른걸 설정하니까 접속이 되지 않았다. 뻘짓했다.

 

 

 

* 참고 사이트

- https://cjh5414.github.io/flask-uwsgi-nginx/

 

uWSGI를 이용하여 Nginx에 Flask 연결하기

Jihun's Development Blog

cjh5414.github.io

- https://whatisthenext.tistory.com/124

 

[배포] 도커에서 uwsgi, nginx연동 확인하기

들어가기 앞서 OS : Ubuntu 16.04 LTS Django (1.11.3) Python : 3.6.1 Nginx : 1.10.3(ubuntu) 굉장히 부족하고, 굉장히 저급 수준의 실력을 가진 유저가 쓴 글입니다. 진행하시다가 오류를 발견하시거나, 진행사..

whatisthenext.tistory.com

- https://twpower.github.io/43-run-uwsgi-by-using-ini-file

 

[uWSGI] ini파일을 통해 uWSGI 실행하기

Practice makes perfect!

twpower.github.io