Google App Engine Django Project Бесконечная загрузка и ошибка 500 не вызывает никаких ошибок в журналах

Я пытаюсь развернуть проект Django на Google Cloud App Engine.

Я развернул свое приложение с помощью команды gcloud app deploy.

Когда я пытаюсь загрузить страницу в браузере, происходит бесконечная загрузка, пока, наконец, страница не выдает "Server 500 Error".

Затем я решил посмотреть, есть ли что-то странное в журналах, выполнив 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:5432 (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 :5432 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, так почему же оно вызывает предупреждение?

Ища похожие проблемы с "500 server error" я нашел кое-что, что может быть полезным для вас.

По-видимому, эта ошибка получена из-за ошибок приложения, как предложено здесь, пользователь также говорит о том, чтобы взглянуть на настройки развертывания, поскольку производственный и локальный хосты отличаются и установлены DEBUG = TRUE. Вот руководство о том, как настроить ваше приложение для продакшена.

Другой вопрос указывает на необходимость поиска панели Error Reporting в панели инструментов Google Cloud Platform, чтобы получить стектрейс проблемы в вашем коде, если она там есть. Это может быть полезно для решения 500-й ошибки.

В том же вопросе пользователь отвечает, что эту проблему трудно решить однозначно и что вам нужно исследовать различные причины, как мы можем видеть в этой дискуссии, где они попросили OP предоставить их журналы, чтобы предоставить дальнейшую помощь. Затем, проверив их, ОП получил свое собственное решение.

Я бы предложил посмотреть на конфигурацию, чтобы убедиться, что все в порядке для производственного развертывания, попытаться проверить больше информации в панели Error Reporting и, если у вас есть журналы, и вы все еще не можете устранить проблему, опубликовать еще один или обновить вопрос с этой информацией.

Вернуться на верх