flask项目下的uwsgi配置方式及示例

一、http/http-socket/socket

uwsgi通信接口配置的三种方式:

socket=127.0.0.1:8888
http-socket=127.0.0.1:8888
http=0.0.0.0:8888

三个方式看起来十分的相似,阅读了很多博客和官方文档,下面是自己的一些理解(可能不完全正确)!


图一是socket方式,现在大部分web服务器(如nginx)支持uwsgi, 这是这三种方式最高效的一种形式,socket通信速度会比http快

图二是http-socket方式,这个适用于web服务器不支持uwsgi时。

后面2个图都是http方式,但是这样会失去了nginx很多优秀的功能。

官方推荐的方式为socket以及http-socket方式,显然使用http方式会额外产生一个http进程,如果还通过nginx转发,那么效率上来说是相对比较低的。

二、一个较为完整的uwsgi文件:

[uwsgi]
# 外部访问地址,可以指定多种协议,现在用http便于调试,之后用socket
# http方式
socket = 127.0.0.1:8201
# 项目路径
pythonpath= /rasa/zndhjqr_nlp
# 虚拟环境的目录路径
virtualenv = /rasa/zndhjqr_nlp/venv
# 主程序文件
wsgi-file=%(pythonpath)/flask_restful/znjqr_api.py
# flask项目创建的application
callable = app
#主线程
master = true
# 处理器数
processes = 1
# 线程数
threads = 2

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容