uWSGI是web服务器 实现了uwsgi协议,WSGI协议,http协议等。
uwsgi和WSGI都是协议,其中uwsgi是一种线路协议,用于数据传输《而WSGI是一种通信协议,用于通信。
要使用WSGI,需要分别实现server角色和application角色。
Application端的实现一般是由Python的各种框架来实现的,比如Django, Flask等,一般开发者不需要关心WSGI的实现,框架会会提供接口让开发者获取HTTP请求的内容以及发送HTTP响应;
Server端的实现会比较复杂一点,这个主要是因为软件架构的原因。一般常用的Web服务器,如Apache和nginx,都不会内置WSGI的支持,而是通过扩展来完成。比如Apache服务器,会通过扩展模块mod_wsgi来支持WSGI。Apache和mod_wsgi之间通过程序内部接口传递信息,mod_wsgi会实现WSGI的server端、进程管理以及对application的调用。Nginx上一般是用proxy的方式,用nginx的协议将请求封装好,发送给应用服务器,比如uWSGI或者Gunicorn,应用服务器会实现WSGI的服务端、进程管理以及对application的调用。
uwsgi、WSGI、uWSGI的区别
最新推荐文章于 2023-01-06 11:17:54 发布