【发布时间】:2022-01-04 17:58:35
【问题描述】:
我正在尝试在 Google Cloud App Engine 上部署一个 Django 项目。
我使用命令 gcloud app deploy 部署了我的应用程序。
当我尝试在浏览器中加载页面时,会无限加载,直到页面最终返回“服务器 500 错误”。
然后我想通过执行gcloud app logs tail 来查看日志中是否有奇怪的东西,但它不会引发任何类型的错误,这就是我得到的。
2021-11-26 17:38:31 default[version_code] [2021-11-26 17:38:31 +0000] [11] [INFO] Starting gunicorn 20.1.0
2021-11-26 17:38:31 default[version_code] [2021-11-26 17:38:31 +0000] [11] [INFO] Listening at: http://0.0.0.0:8000 (11)
2021-11-26 17:38:31 default[version_code] [2021-11-26 17:38:31 +0000] [11] [INFO] Using worker: sync
2021-11-26 17:38:31 default[version_code] [2021-11-26 17:38:31 +0000] [16] [INFO] Booting worker with pid: 16
在谷歌云的错误报告页面中也没有出现
这是我的 Python Django settings.py:
if os.getenv('GAE_APPLICATION', None):
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'HOST': 'cloudsql/<my-google-cloudsql-connection-string>',
'NAME': 'database_name',
'USER': 'username',
'PASSWORD': 'password',
'PORT': '5432',
}
}
else:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
这是我的app.yaml 文件:
runtime: python39
env: standard
app_engine_apis: true
handlers:
- url: /static
static_dir: static/
- url: /.*
script: auto
entrypoint: gunicorn -b :8000 NG.wsgi
我在部署期间也收到此警告:Updating service [default]...|WARNING: There is a dependency on App Engine APIs, but they are not enabled in your app.yaml. Set the app_engine_apis property.。
在我的 app.yaml 中,我配置了 app_engine_apis 属性,那么,为什么会引发警告?
编辑 1:
我刚刚检查了问题是否是由数据库连接产生的,但实际上不是。如果没有任何错误,页面甚至没有加载,我认为是我搞砸了一些配置,但是,我只是按照谷歌云官方网站上的步骤操作
【问题讨论】:
-
能否确认环境变量
GAE_APPLICATION的值?还很好奇为什么您的入口点是运行云 SQL 的端口 -
事实是,如果我尝试执行
print(os.getenv('GAE_APPLICATION', None)),它不会打印任何内容.. 就好像程序甚至没有启动...顺便说一下,我会尝试更改端口 -
我将
app.yaml中入口点值的端口从 5432 更改为 8000,但没有任何变化。我仍然从日志中得到那四行 -
不要认为你的工作会奏效,因为
BASE DIR表示本地路径,标准环境只能访问基本上在内存中的/tmp。您的应用可以在本地机器上运行吗? -
我的应用只能在本地机器上运行。我尝试了几天试图解决这个问题。我必须在 30 天内完成这项工作,我不知道如何解决这个问题。该页面会无限加载,直到加载 5 或 10 分钟后,它会引发 500 错误。在我的代码中没有错误:例如,如果我故意犯了语法错误,它会出现在日志中,但是,正如我所说,我的代码中没有错误,我仍然看不到我的网站正常运行
标签: python django google-app-engine google-cloud-platform google-app-engine-python