在Google App Engine上使用Daphne部署Django Channels应用程序时出现502 Bad Gateway Nginx错误(灵活)

我的Django应用程序在使用gunicorn作为app.yaml文件中的入口点的Google App Engine(灵活)上运行良好。我需要向其中添加websocket,因此我使用了Django Channels(带redis)。在我的本地计算机(Windows 10)上,它可以很好地工作。

对于部署,我将端口8080上的入口点更改为daphne,因为这是GAE的默认设置(使用$ PORT会产生相同的效果),所以我的yaml文件现在看起来像这样:

runtime: python
env: flex

runtime_config:
  python_version: 3

entrypoint: daphne -b 127.0.0.1 -p 8080 my_project_name.asgi:application

我已经检查了.asgi文件和requirements.txt,以确保一切正常,并且软件包为最新版本。

但是在部署它之后,出现了"502 Bad Gateway Nginx"错误。

GCP云控制台上的Stackdriver日志(nginx.error)如下:

[error] 33#33: *341 connect() failed (111: Connection refused) while connecting 
to upstream,client: 172.xxx.xxx.xxx,server:,request: "GET / HTTP/1.1",upstream: "172.17.0.1:8080",host: "my_project_name.appspot.com" 

我无法识别用于上游服务器或客户端的IP,也不知道下一步该怎么做。在过去的4天里,我尝试了很多事情,包括:

  1. 使用各种不同的端口(8000、8001等)

  2. 在我的项目目录中添加一个基于this documentation的nginx.conf文件,这似乎没有什么作用

  3. 在yaml文件的runtime_config部分中添加一行,内容为“ nginx_conf_http_include:nginx.conf”

4。使用Unix套接字在入口点(例如“入口点:daphne -u /tmp/daphne.sock my_project_name.asgi:application

”)中启动daphne服务器。
  1. 在nginx.conf文件中声明daphne服务器后,完全删除入口点

这都没有帮助。日志保持不变,错误保持不变。我已经阅读了thisthis之类的问题,但是由于我没有直接操作VM实例,所以我不知道如何将其应用于GAE Flex。请帮忙。

o0wuchen0o 回答:在Google App Engine上使用Daphne部署Django Channels应用程序时出现502 Bad Gateway Nginx错误(灵活)

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

大家都在问