簡體   English   中英

Google App Engine Django 項目無限加載和錯誤 500 不會在日志中引發任何錯誤

[英]Google App Engine Django Project Infinite Loading and error 500 does not raise any error in logs

我正在嘗試在 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. 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:

我剛剛檢查了問題是否是由數據庫連接產生的,但實際上不是。 如果沒有任何錯誤,頁面甚至沒有加載,我認為是我搞砸了一些配置,但是,我只是按照谷歌雲官方網站上的步驟進行的

尋找與“500 服務器錯誤”類似的問題,我發現了一些對您有用的東西。

顯然,由於此處建議的應用程序錯誤而收到此錯誤,用戶還談到查看部署設置,因為生產和本地主機不同並設置DEBUG = TRUE 這是有關如何為生產配置應用程序的指南。

另一個問題指向在 Google Cloud Platform 儀表板中查找錯誤報告面板,以獲取代碼中問題的堆棧跟蹤(如果存在)。 這有助於解決 500 錯誤。

在同一個問題中,用戶回答這個問題很難直接解決,正如我們在這個討論中看到的那樣,您需要調查各種原因,他們要求 OP 提供他們的日志以提供進一步的幫助。 然后,在檢查了他們之后,OP 得到了他自己的解決方案。

我建議查看配置以檢查生產部署的一切是否正常,嘗試在錯誤報告面板中檢查更多信息,如果您有日志並且您仍然無法解決發布另一個問題或更新問題的問題此信息。

我通過刪除app.yaml文件上的這一行來解決該錯誤。

那是行entrypoint: gunicorn -b:8000 NG.wsgi

我猜您在 App Engine 上部署 Django 應用程序時不必指定入口點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM