- Nginx + Flask + Uwsgi 초기 세팅 기록.
설치 및 실행
- Nginx, Flask, Uwsgi를 설치한다.
pip3 install nginx
pip3 install uwsgi
pip3 install flask
pip3 install uwsgi-plugin-python
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
uwsgi 파일 만들기
from test import application
if __name__ == "__main__":
application.run()
curl 명령어를 실행시켜 확인
uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi
ini 파일을 만든다.
매번 uwsgi 파일을 실행시킬 때 명령어를 써줄 수 없으니 파일을 만들어둔다.
socket 파일은 아래 실행 명령어를 실행시키면 자동으로 생성 되어진다.
[uwsgi]
chdir = /var/www/html/StoryAI/storyai/web
module = wsgi
socket = /tmp/myproject.sock
chmod-socket = 666
실행 명령어
uwsgi --ini myproject.ini
nginx의 환경설정을 변경한다.
/etc/nginx/sites-avilable/defalut
다른 예제들에서는 location @app을 설정해서 하는데 이거 인식이 잘 안되서 location / { 부분에 설정을 해주니까 되었다.
sock 파일을 통해서 서로 연결되어진다.
여기서 실수 했던게 try_files $url $url\ =404; 부분을 주석처리 안하니까 app.route를 다른걸 설정하니까 접속이 되지 않았다. 뻘짓했다.