nginx + uWSGI + flask應用部署

yz764127031發表於2017-05-05

簡單寫一下過程
作業系統版本:Ubuntu 16.4
主要參考資料:
http://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/WSGIquickstart.html
按照上面網址來做就好了
(1)安裝軟體
apt-get安裝nginx,這種方式安裝的版本較低nginx version: nginx/1.10.0 (Ubuntu)

sudo apt-get install nginx

apt-get安裝pip

sudo apt-get install python-pip

pip 安裝 uwsgi ,flask

pip install uwsgi
pip install flask

uWSGI 2.0.15
版本不同,指令的引數會不同

(2)配置檔案
開啟ngnix配置檔案

sudo vi /etc/nginx/sites-enabled/default

將原來的location修改為

location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:3031;
}
這表示“傳遞每一個請求給繫結到3031埠並使用uwsgi協議的伺服器”。
之後記得重啟伺服器

配置檔案出錯,可以通過下面檢查

sudo nginx -t

(3)驗證
準備一個簡單的flask應用,如

from flask import Flask

app = Flask(__name__)

@app.route('/')
def index():
    return "<span style='color:red'>I am app 1</span>"

使用指令

uwsgi --socket 127.0.0.1:3031 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191

結果截圖:
這裡寫圖片描述

出現的主要問題:
(1)uwsgi版本不對,導致指令不能用,推薦用pip安裝,不要用apt-get
(2)不知道sudo nginx -t可以定位配置檔案的錯誤,浪費了時間

相關文章