一篇就弄懂WSGI、uwsgi和uWSGI的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一篇就弄懂WSGI、uwsgi和uWSGI的区别相关的知识,希望对你有一定的参考价值。

参考技术A 最近基于Django Web框架在开发一个后端项目,在Web Server和Django应用程序交互的过程中总会碰到本文题目提及到的几个概念,笔者特意花了点时间研究了下,为方便以后温习特在此记录一下。

英文全称:Web Server Gateway Interface,Web服务网管接口,简单来说它是一种Web服务器和应用程序间的通信规范。

uwsgi是一种通信协议,不过跟WSGI分属两种东西,该协议下速度比较快。

uWSGI是一个Web Server,并且独占uwsgi协议,但是同时支持WSGI协议、HTTP协议等,它的功能是把HTTP协议转化成语言支持的网络协议供python使用。

在做Django项目时,一般测试开发我们直接用Django内嵌的Web Server即可,但是如果项目要上生产环境,考虑并发等性能时,我们可能需要uwsgi和nginx,下面只说明uwsgi的常用用法,至于nginx的配置笔者后续准备专门写一篇博文来讲。

uwsgi执行一般有两种方式:命令行和文件配置,但是命令行可能需要识记很多参数,因此采用文件配置是更通用的做法,文件格式支持很多种比如ini、xml、yaml等,笔者建议还是采用比较简单key-value形式ini模式,下面给出一个简单的uwsgi ini配置实例:

执行:uwsgi --ini /path/to/uwsgi.ini

参数解释:

更多uwsgi参数可参考官方文档: https://uwsgi-docs.readthedocs.io/en/latest/

以上是关于一篇就弄懂WSGI、uwsgi和uWSGI的区别的主要内容,如果未能解决你的问题,请参考以下文章

nginx,wsgi,uwsgi区别

WSGI与uWSGI的应用场景与使用方法

django runserver部署和uwsgi部署的区别

nginx 和uwsgi的区别与作用

nginx+uwsgi 和nginx+gunicorn区别、如何部署

uwsgi 选项 --wsgi-file 和 --module 无法识别