在实际服务器上部署Django Channels的最佳方式

3
我有一个使用 Django 和 Django-channels 编写的网站。我可以通过 "manage.py runserver" 进行测试,一切运行良好。
但在真实世界中,您不能使用这种方法来运行您的网站。Apache 和 Nginx 无法提供 Django-channels(Websocket) 的服务,您应该使用 Daphne 作为伴随服务器,但是配置这种方法非常复杂,而且我只能做一次,然后就忘记了 :(
我正在寻找在实际环境中部署 Django-channels 应用程序的最佳方法。
谢谢。
2个回答

0

0

对于生产环境,我们应该使用像Nginx或Apache这样的Web服务器。由于这些服务器不支持ASGI,因此我们必须使用 daphne或{{link2:uvicorn}}等ASGI服务器。

安装daphne或uvicorn并启动进程:

uvicorn avilpage.asgi --log-level critical --workers 4

或者

daphne avilpage.asgi:application --bind 0.0.0.0 --port 9000 --verbosity 1

这将启动一个单独的进程来提供ASGI请求,即WebSockets。从这里开始,我们可以按照部署普通HTTP Web应用程序的相同过程进行操作。

我已经写了一篇关于将channels部署到生产环境的博客文章。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接