502错误的网关。 Django Google App Engine

时间:2018-02-27 10:23:59

标签: django google-app-engine google-cloud-storage

我在GAE中部署了我的django项目,除了主要页面之外的所有页面上都出现了502 Bad Gateway错误。之前的版本正在运行,但由于我添加了API存储调用(storages.backends.gcloud.GoogleCloudStorage),因此无效。我在settings.py和app.yaml中添加了环境变量GOOGLE_APPLICATION_CREDENTIALS。日志显示此错误:

[error] 32#32: *111 upstream prematurely closed connection while reading response header from upstream, client: xxx.xxx.xxx.xxx, server: , request: "GET /accounts/login/ HTTP/1.1", upstream: "http://xxx.xxx.xxx.xxx:8080/accounts/login/", host: "xxxx.appspot.com", referrer: "https://xxxx.appspot.com/"

所有人都在本地工作,所以我只有这样的信息。 我尝试了google群组和其他stackoverflow问题,但它无效。

谢谢。

2 个答案:

答案 0 :(得分:3)

moment('2020-03-26').day() // I correctly get '4' 会告诉您错误消息,因此请确保检查输出。我的是gcloud app logs tail -s default

我犯的其他一些错误是:

  • django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.ALLOWED_HOSTSDATABASES的值错误
  • settings.pystatic_dir的值错误
  • 缺少app.yaml

答案 1 :(得分:2)

我建议使用Django和App Engine解决您的问题。

您提到您已将GOOGLE_APPLICATION_CREDENTIALS添加到settings.pyapp.yaml文件中。您还应将其添加到用于部署应用程序的系统中。使用此命令:

export GOOGLE_APPLICATION_CREDENTIALS=[path to the .json credentials file]

除此之外,请确保您使用的Django版本比1.2或1.3更新,因为Google Cloud不再支持这些版本。

有关如何配置app.yamlsettings.py文件(或您的设)。

根据您使用的Python版本,如果您使用Python 2或here环境(如果您使用Python 3),最好部署在standard环境中。我提供的链接这里有一些教程,可以更好地理解如何将Django与App Engine结合使用。测试完这些教程后,您可以根据代码进行调整,