我正在嘗試部署我的應用程式,但我在網站上一直得到這樣的錯誤:
錯誤。
錯誤。服務器錯誤 服務器遇到了一個錯誤,無法完成您的請求。 請在 30 秒后再試。
錯誤日志
對此的錯誤日志是:
2021-07-15 12:36。 04 默認[20210715t122912] [2021-15 12:36:04 0000] [20] [INFO] 作業者正在退出(pid: 20)。
2021-07-15 12:36。 04 默認[20210715t122912] [2021-15 12:36:04 0000] [23] [ERROR] 例外 in worker process
2021-07-15 12:36:04 default[20210715t122912] Traceback(最近一次呼叫)。 檔案 "/layers/google.python.pip/lib/python3.9/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker worker. init_process() 檔案 "/layers/google.python.pip/lib/python3.9/Site-packages/gunicorn/workers/gthread. py",第92,in init_process super()。 init_process() 檔案 "/layers/google.python.pip/lib/python3.9/site-packages/gunicorn/workers/base.py", 行 119, in init_process self. load_wsgi() 檔案 "/layers/google.python.pip/lib/python3.9/site-packages/gunicorn/workers/base.py", line 144, in load_wsgi self. wsgi = self.app.wsgi() 檔案 "/layers/google.python.pip/lib/python3.9/site-packages/gunicorn/app/base. py", line 67, in wsgi self.callable = self. load() File "/layers/google.python.pip/lib/python3.9/site-packages/gunicorn/app/wsgiapp. py", line 49, in load return self. load_wsgiapp() 檔案 "/layers/google.python.pip/lib/python3.9/Site-packages/gunicorn/app/wsgiapp. py", line 39, in load_wsgiapp return util. import_app(self.app_uri) File "/layers/google.python.pip/pip/lib/python3.9/Site-packages/gunicorn/util. py", 行 358, in import_app mod = importlib.import_module(module) File "/opt/python3.9/lib/python3.9/importlib/__init__. py", 行 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) 檔案 "< frozen importlib. _bootstrap>",第1030,in _gcd_import 檔案"<rozen importlib. _bootstrap>", line 1007, in _find_and_load File "<rozen importlib. _bootstrap>", line 986, in _find_and_load_unlocked File "<rozen importlib. _bootstrap>", line 680, in _load_unlocked File "<rozen importlib. _bootstrap_external>", line 855, in exec_module File "<rozen importlib. _bootstrap>", line 228, in _call_with_frames_removed File "/srv/main. py", 行 1, in <module> from booking. wsgi import application File "/srv/booking/wsgi. py", line 12, in <module> from django.core.wsgi import get_wsgi_application ModuleNotFoundError: 沒有名為'django'/span>的模塊。
我已經有一個main.py檔案:
main.py
from booking.wsgi import application
app = application
我也有一個app.yaml檔案,這些是內容:
運行時間: python39
入口: gunicorn -b :$PORT booking.wsgi
有什么想法嗎?
uj5u.com熱心網友回復:
所以問題是你沒有在谷歌應用引擎(GAE)上安裝需求,正如Jameel Hamdan指出的那樣。
修復方法是將您的所有需求放在requirements.txt檔案中,如這里所述。
另一件事是,您在app.yaml中使用了一個入口點。這里面有兩個問題:
- 你的入口點
- 你的入口點是不正確的。考慮到你的設定方式,你的入口應該是
entrypoint: gunicorn -b :$PORT main:app。這樣你就告訴gunicorn在main.py檔案中尋找app物件。 - 由于你使用的是一個非默認的入口,你需要確保
gunicorn在你的requirements.txt中,如GAE docs for entrypoint所述。我知道這句話有點含蓄。如果你沒有指定入口欄位,App Engine也會自動將gunicorn添加到你的requirements.txt檔案中。但是我確信你需要在你的requirements.txt中添加gunicorn。
補充說明
由于你可能沒有使用requirements.txt檔案,你也可能沒有在本地開發中使用virtualenv。你應該總是使用virtualenv。參見相關檔案。最好現在就習慣于這樣做,這樣你在下一個專案中就會不假思索地這樣做。
注意,在我之前鏈接的requirements.txt的GAE docs中也建議這樣做。
EDIT
嘗試將你的app.yaml改為Django默認的app.yaml:
runtime: python39。
處理程式:
# This configures Google App Engine to serve the files in the app's static
# 目錄。
- URL: /static
static_dir: static/
# 這個處理程式將所有未被發現的請求路由到你的主應用程式。它是
# 當定義了靜態路由時需要,但可以省略(連同
# 整個處理程式部分),但在沒有定義靜態檔案時可以省略。
- url:/span> /.*
script: auto
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/317596.html
標籤:
