# Wsgi和Asgi 推荐Server
# WSGI和ASGI
# Wsgi同步应用
- uWSGI:C实现的Python Web服务器;Web 服务器 Apache/Nginx 与 django-uwsgi 进程通信来提供动态的内容,推荐使用
- gunicorn:纯 Python 实现的高性能 Python 应用容器,无外部依赖,简单容易配置;没有性能问题前推荐使用gunicorn。
# Asgi异步应用
异步容器中所有代码都要是异步的,Django框架自身有兼容,但一些第三方插件不一定支持,需要做一些处理。
- Daphne: twisted 实现,推荐使用。
- Hypercorn: 基于 sans-io hyper, h11, h2, wsproto实现
- Uvicorn: 基于 uvloop and httptools 实现
# Django应用容器选择
Django默认的runserver命令会启动一个WSGI服务器,若想启动ASGI服务器则需要安装
# DJango中的Wsgi和Asigi
DJango在创建项目后,会自动生成一个asgi文件,可以通过其
asgi:application来启动ASGI服务器。无法使用传统的
runserver命令启动ASGI服务器,这只会启动默认的WSGI服务器,即同步架构的服务器,为此我们需要安装专门的ASGI服务器,一般使用Daphne即可。