通常web框架都是自带服务器的,例如django、flask,但通常来讲,框架自带应用服务器是为了满足开发环境的调试,往往不能在生产环境使用。
WSGI协议
WSGI协议是建立在web框架和web服务器中间,是双方能进行通信的桥梁。它制定了一系列双方都接受的接口规则,以避免web框架和web服务器彼此受限的情况发生,同时也是两者之间具备了隔离性。
常见的WSGI容器
1.Gunicorn
Gunicorn对cpu消耗很少,支持多种Worker模式,推荐的模式有一下几种:
- 同步Worker:默认模式,也就是一次处理一个请求。
- 异步Worker:通过Eventlet、Gevent实现异步模式。
- 异步IO Worker:目前支持gthread和gaiohttp两种类型
安装
pip install gunicorn
启动
gunicorn [OPTIONS] MODULE_NAME:VARIABLE_NAME
2.uWSGI
uWSGI是使用C编写的,实现了自有的uwsgi协议的Web服务器。
安装
pip install uwsgi
启动
uwsgi--http 0.0.0.0:9000--wsgi-file app.py --callable app--processes 4--threads 2--stats 0.0.0.0:5000