1 下载Flask和uwsgi
代码语言:javascript复制pip3 install uwsgi flask
2 单独运行
代码语言:javascript复制uwsgi --http :9090 --wsgi-file foobar.py
#直接浏览器访问ip:9090
3 配合nginx运行
切换用户或创建用户 不允许root用户
代码语言:javascript复制su py
代码语言:javascript复制uwsgi --socket 127.0.0.1:9090 --wsgi-file myflaskapp.py --callable app --processes 4 --threads 2 --stats 127.0.0.1:9191
配置nginx
代码语言:javascript复制location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
运行nginx
配置文件运行
代码语言:javascript复制[uwsgi]
web应用的入口模块名称
module = RestRelFlask:app
启动主进程
master = true
说明要启动5个子进程处理请求
processes = 3
程序内启用的application变量名
callable = app
flask程序的启动文件,通常在本地是通过运行
wsgi-file = RestRelFlask.py
项目目录
chdir = /opt/pnp
启动程序时所使用的ip和端口号
socket = 127.0.0.1:8207
uwsgi日志路径
logto = RestRelFlask.log
chmod-socket = 660
vacuum = true
获取uwsgi统计信息的服务地址
stats = 127.0.0.1:9191
uwsgi进程的pid,用于以后的stop和reload
pidfile = uwsgi.pid
代码语言:javascript复制启动
uwsgi --ini uwsgi.ini
后台启动
uwsgi -d --ini uwsgi.ini
重启
uwsgi --reload xxx.pid
停止
uwsgi --stop xxx.pid
4 接口文档
最开始使用swagger的flasgger,但是感觉不太好用,人生苦短,flasgger太麻烦,后来改了好几个,最终选择了flask-docs
代码语言:javascript复制# 安装:
pip3 install Flask—Docs
# 引用
from flask_docs import ApiDoc
# 需要显示文档的 Api
app.config['API_DOC_MEMBER'] = ['api', 'platform']
ApiDoc(app)
#查看文档页面
http://127.0.0.1/docs/api
# 书写 markdown 格式文档
@@@
在注释结尾用 “@@@” 包含 markdown 格式文档
@@@