- 安裝
pip install uwsgi
pip install flask
- uwsgi
WSGI(Web Server Gateway Interface),定義了web服務(wù)器(nginx、apache、iis等)和 web應(yīng)用(或者將web框架,flask、django等)之間的接口規(guī)范。也就是說,只要 web服務(wù)器和 web應(yīng)用都遵守WSGI協(xié)議,那么 web服務(wù)器和 web應(yīng)用就可以隨意的組合。
配置uwsgi啟動文件
# uwsgi.ini
[uwsgi]
socket = 127.0.0.1:5051 # 使用socket
# http = 127.0.0.1:8888 # 使用http協(xié)議
pythonpath = /vagrant/flask。# 根項目根目錄
module = index
wsgi-file = /vagrant/flask/index.py
callable = app # flask應(yīng)用實例的名稱
processes = 4
threads = 2
daemonize = /vagrant/flask/uwsgi/uwsgi.log
python-autoreload=1
status=/vagrant/flask/uwsgi/uwsgi.status
pidfile=/vagrant/flask/uwsgi/uwsgi.pid
uwsgi命令
uwsgi --ini uwsgi.ini # 啟動
uwsgi --reload uwsgi.pid # 重啟
uwsgi --stop uwsgi.pid # 關(guān)閉
- nginx配置
server {
charset utf-8;
client_max_body_size 128M;
listen 80;
server_name flask.local.com;
root /vagrant/flask;
index index.py;
# 如果使用socket協(xié)議
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:5051; # 配置uwsgi端口
}
# 如果使用http協(xié)議,則要配置方向代理
location / {
proxy_pass http://127.0.0.1:8888;
}
}
- 業(yè)務(wù)代碼例子
# index.py
from flask import Flask,request
import json
app = Flask(__name__)
app.debug = True
@app.route("/")
def helloWorld():
return json.dumps({
'code':200,
'msg':123
})
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
- 配置host ,訪問即可