zl程序教程

您现在的位置是:首页 >  工具

当前栏目

uWSGI+Nginx+Flask+docs

Nginx Flask uWSGI docs
2023-06-13 09:15:25 时间

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 格式文档
@@@