一. flask、django项目不推荐使用自带run/runserver方法部署
二. Web服务器、WSGI、Flask/Django框架关系
1. WSGI简介
WSGI(Web Server Gateway Interface),既不是服务器,也不是应用,而是一种接口(规范),描述web server如何与web application通信的规范:
WSGI 只适用于 Python 语言,定义了 web服务器和 web应用之间的接口规范。解耦了服务器类与应用程序类,只要 web服务器和 web应用都遵守WSGI协议,那么 web服务器和 web应用就可以随意的组合
2. Application实现
WSGI规范规定,Application 必须是一个可调用的对象,它可以是函数,可以实现了__call__的类的实例对象,也可以是实现了__iter__的类对象。
不管是哪种方式的可调用对象,都要遵循两个原则:
同理,Web Server也必须实现这两个对象,定义完成后,要调用application,将两个参数传入
3. Web框架层协议体现
Web框架的作用主要是方便我们开发 web应用程序,也遵循WSGI协议,以flask为例,遵循WSGI协议体现的源码:
在Flask中处理请求的入口__call__方法, 又调用了另一个方法wsgi_app,所有的请求将会在这几行代码中处理完成, 并且最终返回
4. uwsgi协议、uWSGI服务器
三. Gunicorn
1. 简介
2. Gunicorn工作模式
3. Gunicorn实现高并发
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。