问题标签 [daphne]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django Channels 是否使用 ws:// 协议前缀在 Django 视图或 Channels 应用程序之间进行路由?
我正在使用 Daphne 运行 Django + Channels 服务器。达芙妮服务器落后于 Nginx。我的 Nginx 配置看起来像最后给出的。
当我尝试连接ws://example.com/ws/endpoint
时NOT FOUNT /ws/endpoint
出现错误。
对我来说,Daphne 似乎正在使用协议来路由到 Django 视图或 Channels 应用程序。如果它看到http
它会路由到 Django 视图,并且当它看到ws
它会路由到 Channels 应用程序。
通过以下 Nginx 代理传递配置,URL 始终具有http
协议前缀。所以我在日志中得到 404 或 NOT FOUND。如果我将 proxy_pass 前缀更改为ws
Nginx 配置失败。
在这种情况下设置通道的理想方法是什么?
django - 如何修复 django 频道消费者停止处理发送到组的消息
group_send()
一段时间后,使用突然停止向群组发送消息。消费者的处理程序方法不再被调用。
重新启动daphne
解决了一段时间的问题。
细节
日志中的任何地方都没有出现错误,只是消息不再由消费者处理。
我正在使用以下库:
- aioredis==1.2.0
- asgiref==2.3.2
- 通道-redis==2.3.2
- 频道==2.1.6
- 达芙妮==2.2.4
- django==2.1.5
- redis==3.0.1
代码
预期和实际结果
在日志中出现了一段时间Consumer::event_triggered()
,但突然停止。通过 WebSocket 从浏览器接收消息仍然有效。只是从group_send()
到消费者的运输被破坏了。
python - 将 django 从 1.11 升级到 2.0 时出现 Daphne 问题
当从 django 1.11 升级到 2.0 时,会发生这种情况:
Django 版本 2.0.10,通道=2.1.6,达芙妮=2.2.4。一旦将 GET 请求发送到 localhost:8000,就会发生这种情况。尝试使用 manage.py runserver 0.0.0.0:8000。
违规线路:
django - Django + Channels + Daphne + Caddy + 管理文件上传 = 413 错误
我有一个使用 Caddy 在生产中部署的 Django Web 应用程序。我使用 Caddy 作为指向 daphne 的反向代理,它指向我的 Django 应用程序。但是,当我尝试在生产环境中将 5MB 文件上传到 django 管理门户时,出现 413 错误。在调试模式下,当我只使用 Django(没有 caddy 或 daphne)时,我没有收到此错误。有人有想法么?这是我的 Caddyfile 和相关文件:
asgi.py
wsgi.py
apache - 使用 Apache 和 Daphne 提供静态文件
我正在尝试学习使用 django-channels 并且已经完成了教程和这个多聊天示例。我现在正在尝试使用 Apache 和 Daphne 将它部署在 Digital Ocean 液滴上。
我有两个问题:
我的静态文件没有被使用(我已经运行 collectstatic)
我只能在我输入
daphne multichat.asgi:application --port 8001 --bind 0.0.0.0 -v2
而不是使用daphne.service
下面的文件时让 Daphne 工作
这是我Apache
希望为静态文件提供服务的 conf 文件:
这是我的/etc/systemd/system/daphne.service
文件
编辑 1
根据要求,这里是routing.py
一个consumers.py
django - 当我转到域时出现 ERR_TOO_MANY_REDIRECTS:Nginx、Daphne、Django、DigitalOcean
我正在使用 Daphne 和 Nginx 在 DigitalOcean、Ubuntu 16.04 上运行 Django Channels 应用程序。
关注了这篇文章。
Nginx 将仅用作您的 django 应用程序的代理,您的 django 应用程序将与 daphne 一起运行。你应该让 daphne 在 127.0.0.1:8001 上运行(或者根据自己的喜好更改端口)。
我为我的页面启用了 Let's Encrypt SSL 并告诉所有http
请求重定向到https
.
我的页面显示错误
我正在运行达芙妮127.0.0.1:8001
。
我的 nginx 配置文件
nginx - Nginx:是什么导致了这个 301 重定向?
我仍然不知道为什么我的网页显示
Nginx 仅用作我的 django 频道应用程序的代理,该应用程序与 daphne 一起运行。
Nginx 正在运行,没有错误。
达芙妮在 127.0.0.1:8001 上运行
返回
有谁知道是什么导致了这个 301 错误?
Nginx 配置文件
django - 可以仅使用 Nginx 和 Daphne 为 Django Channels 应用程序提供服务吗?
我假设我可以只使用(ASGI)运行一个Django Channels
应用程序,并作为我的 Django 应用程序的代理开始。Daphne
Nginx
该应用程序将运行Daphne
在127.0.0.1:8001
但是,我遇到了一个403 Forbidden
错误。
当我发布有关此内容时,另一位用户提到
在您的 nginx 配置中没有将 http 请求传递给 django 应用程序的指令
并建议查看fastcgi_pass
or uwsgi_pass
or Gunicorn
。
显然 Django Channels 正在运行ASGI
,我现在正在通过它传递所有请求(而不是uWSGI
然后ASGI
取决于请求。)
我可以只用Nginx
and服务我的 Django 应用程序Daphne
吗?Django Channels 文档似乎这样认为,因为他们没有提到需要 Gunicorn 或类似的东西。
我的 nginx 配置
django - 无法找到 403 Forbidden 错误的原因:Nginx Daphne Django
我已经在另一个问题中确认我确实可以运行一个 Django 应用程序Nginx
,并且根据他们的建议Daphne
修改了我的配置代码。nginx
该应用程序在 127.0.0.1:8001 上与 Daphne 一起运行
但是,我遇到了 403 Forbidden 错误。nginx 错误日志说:
我仍然面临 403 问题,并感谢任何能够找到问题出处的人。
我的 nginx 配置
django - 带有 Daphne 的 Nginx 给出 502 Bad Gateway
我决定用 daphne 替换 uwsgi,因为我遇到了 Django Channels 和 uwsgi 的问题。遵循本教程后。我在启用站点的情况下以这种方式配置了我的 nginx。我遇到的大多数其他示例都没有使用达芙妮,所以我无法与它们联系起来。
我用这种方式开始达芙妮
和一个工作线程使用
这是我的 asgi.py
关于可能出错的任何建议?
我尝试访问我的网站,这就是我得到的
这是我开始达芙妮时得到的