常规部署形式为django+uwsgi+nginx组合,但本项目之区别就是将uwsgi替换成daphne。
为什么要使用daphne?与uwsgi有何区别?
项目中使用了channels实现了websocket功能,启动方式由原先的uwsgi协议变成了asgi启动,即项目既要支持http请求,又要支持websocket请求
http支持 | websocket支持 | |
---|---|---|
uwsgi | √ | × |
daphne | √ | √ |
现在有两种部署方式:
我的django项目中需要使用mysql、redis。部署需要nginx。所以需要编辑四个镜像
镜像 | 容器名 | 版本 | 设置网络实现局域网内容器通信 |
---|---|---|---|
mysql | django_mysql | latest | django_net |
redis | django_redi |