Google App Engine Flexible for Django Channels应用程序上的Daphne:502 Bad Gateway Error nginx

我是Web开发的新手,所以我感谢这里聪明的人的帮助。由于我需要使用Django Channels,因此我试图将GAE Flex上的Django应用程序从gunicorn切换到Daphne。

以前,该站点可以使用gunicorn作为入口点(在app.yaml文件中)运行良好。我只是用daphne替换了它(我想通过更改nginx配置,Unix套接字等来避免复杂性,所以我想Daphne可以同时服务于HTTP和ws请求)。所以现在我的app.yaml看起来像:

runtime: python
env: flex

runtime_config:
  python_version: 3

entrypoint: daphne -b 0.0.0.0 -p 8001 my_project_name.asgi:application

我已经在.wsgi文件旁边制作了一个.asgi文件,并在那里声明了一个应用程序。

在requirements.txt中,我已经确保daphne(2.4.1)和asgiref(3.2.3)软件包是最新版本。

最后,当我执行“ gcloud应用程序部署”时,部署似乎顺利进行,并且在构建日志中我可以看到daphne开始:

Step #1: Step 9/9 : CMD exec daphne -b 0.0.0.0 -p 8001 my_project_name.asgi:application
Step #1:  ---> Running in c6f3762a5ce2

但是我在网站上收到502 Bad Gateway错误,下一行是“ nginx”。

问题:我在做什么错?这是因为达芙妮未处理http请求吗?我是否应该做其他事情使Daphne服务HTTP请求?现在,我的http路径在Django中由urls.py模块提供,而不是由routing.py模块提供(仅处理ws请求)。我应该以某种方式改变它吗?

如果您认为拆分传入请求并将http发送到gunicorn是唯一的方法,请描述这些步骤。如果我这样做,app.yaml文件中的入口点会怎样?

到目前为止,我的努力:我在SO上看到了很多问题(例如thisthis),以及在线上有关如何在独立的Linux机器上使用daphne的其他教程。不在GAE Flex等应用引擎上。我看到的唯一与GAE相关的帖子是this,但这与我的问题不同。

fw513598031 回答:Google App Engine Flexible for Django Channels应用程序上的Daphne:502 Bad Gateway Error nginx

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2749006.html

大家都在问