问题标签 [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.

0 投票
1 回答
142 浏览

django - Django Channels 是否使用 ws:// 协议前缀在 Django 视图或 Channels 应用程序之间进行路由?

我正在使用 Daphne 运行 Django + Channels 服务器。达芙妮服务器落后于 Nginx。我的 Nginx 配置看起来像最后给出的。

当我尝试连接ws://example.com/ws/endpointNOT FOUNT /ws/endpoint出现错误。

对我来说,Daphne 似乎正在使用协议来路由到 Django 视图或 Channels 应用程序。如果它看到http它会路由到 Django 视图,并且当它看到ws它会路由到 Channels 应用程序。

通过以下 Nginx 代理传递配置,URL 始终具有http协议前缀。所以我在日志中得到 404 或 NOT FOUND。如果我将 proxy_pass 前缀更改为wsNginx 配置失败。

在这种情况下设置通道的理想方法是什么?

0 投票
2 回答
866 浏览

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()到消费者的运输被破坏了。

0 投票
0 回答
79 浏览

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。

违规线路:

0 投票
1 回答
817 浏览

django - Django + Channels + Daphne + Caddy + 管理文件上传 = 413 错误

我有一个使用 Caddy 在生产中部署的 Django Web 应用程序。我使用 Caddy 作为指向 daphne 的反向代理,它指向我的 Django 应用程序。但是,当我尝试在生产环境中将 5MB 文件上传到 django 管理门户时,出现 413 错误。在调试模式下,当我只使用 Django(没有 caddy 或 daphne)时,我没有收到此错误。有人有想法么?这是我的 Caddyfile 和相关文件:

asgi.py

wsgi.py

0 投票
1 回答
772 浏览

apache - 使用 Apache 和 Daphne 提供静态文件

我正在尝试学习使用 django-channels 并且已经完成了教程和这个多聊天示例。我现在正在尝试使用 Apache 和 Daphne 将它部署在 Digital Ocean 液滴上。

我有两个问题:

  1. 我的静态文件没有被使用(我已经运行 collectstatic)

  2. 我只能在我输入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

0 投票
1 回答
585 浏览

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 配置文件

0 投票
1 回答
2328 浏览

nginx - Nginx:是什么导致了这个 301 重定向?

我仍然不知道为什么我的网页显示

Nginx 仅用作我的 django 频道应用程序的代理,该应用程序与 daphne 一起运行。

Nginx 正在运行,没有错误。

达芙妮在 127.0.0.1:8001 上运行

返回

有谁知道是什么导致了这个 301 错误?

Nginx 配置文件

0 投票
1 回答
2122 浏览

django - 可以仅使用 Nginx 和 Daphne 为 Django Channels 应用程序提供服务吗?

我假设我可以只使用(ASGI)运行一个Django Channels应用程序,并作为我的 Django 应用程序的代理开始。DaphneNginx

该应用程序将运行Daphne127.0.0.1:8001

但是,我遇到了一个403 Forbidden错误。

当我发布有关此内容时,另一位用户提到

在您的 nginx 配置中没有将 http 请求传递给 django 应用程序的指令

并建议查看fastcgi_passor uwsgi_passor Gunicorn

显然 Django Channels 正在运行ASGI,我现在正在通过它传递所有请求(而不是uWSGI然后ASGI取决于请求。)

我可以只用Nginxand服务我的 Django 应用程序Daphne吗?Django Channels 文档似乎这样认为,因为他们没有提到需要 Gunicorn 或类似的东西。

我的 nginx 配置

0 投票
1 回答
243 浏览

django - 无法找到 403 Forbidden 错误的原因:Nginx Daphne Django

我已经在另一个问题中确认我确实可以运行一个 Django 应用程序Nginx,并且根据他们的建议Daphne修改了我的配置代码。nginx

该应用程序在 127.0.0.1:8001 上与 Daphne 一起运行

但是,我遇到了 403 Forbidden 错误。nginx 错误日志说:

我仍然面临 403 问题,并感谢任何能够找到问题出处的人。

我的 nginx 配置

0 投票
1 回答
1250 浏览

django - 带有 Daphne 的 Nginx 给出 502 Bad Gateway

我决定用 daphne 替换 uwsgi,因为我遇到了 Django Channels 和 uwsgi 的问题。遵循教程后。我在启用站点的情况下以这种方式配置了我的 nginx。我遇到的大多数其他示例都没有使用达芙妮,所以我无法与它们联系起来。

我用这种方式开始达芙妮

和一个工作线程使用

这是我的 asgi.py

关于可能出错的任何建议?

我尝试访问我的网站,这就是我得到的

这是我开始达芙妮时得到的