uWSGI+Nginx+Flask+docs

python 寻梦 3年前 (2021-05-26) 484次浏览 0个评论 扫描二维码

1 下载Flask和uwsgi

pip3 install uwsgi flask

2 单独运行

uwsgi --http :9090 --wsgi-file foobar.py
#直接浏览器访问ip:9090

3 配合nginx运行

切换用户或创建用户 不允许root用户

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

配置nginx

location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}

运行nginx

配置文件运行

[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
启动
uwsgi --ini uwsgi.ini
后台启动
uwsgi -d --ini uwsgi.ini
重启
uwsgi --reload xxx.pid
停止
uwsgi --stop xxx.pid

4 接口文档

最开始使用swagger的flasgger,但是感觉不太好用,人生苦短,flasgger太麻烦,后来改了好几个,最终选择了flask-docs

# 安装:
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 格式文档
@@@
喜欢 (1)
[支付宝扫码,感谢支持]
分享 (0)
关于作者:

您必须 登录 才能发表评论!