Хостинг веб-сайтов на Google App Engine | 502 Bad Gateway | Работник не смог загрузиться (регистратор) - PullRequest
0 голосов
/ 07 апреля 2020

Я следую этому руководству за размещением веб-сайта stati c на GAE. На снимке экрана показана структура моей папки, где «formicidae» - это каталог root моего проекта, а «www» содержит файлы HTML, CSS, JS и изображения.

Развертывание в порядке с gcloud app deploy, но я получаю ошибку 502 неверный шлюз nginx, когда я хочу просмотреть свое приложение с помощью gcloud app browse.

Проверка логгера, я был получая ошибку ModuleNotFoundError: No module named 'main', поэтому я добавил новую точку входа в app.yaml, которая выглядит как entrypoint: gunicorn -b :$PORT formicidae.wsgi --timeout 120 (также увеличивает время ожидания).

Это не решило проблему, поэтому я добавил фиктивный скрипт main.py с from formicidae import app, но получил ошибку ModuleNotFoundError: No module named 'formicidae' в своем логгере.

Я изменил его на from www import app, но получил ImportError: cannot import name 'app' from 'www' (unknown location).

Я не уверен, нахожусь ли я на правильном пути с одним из этих решений и должен просто заменить 'formicidae' или 'www' на что-то другое, или если вообще есть другое решение.

Вот полный вывод логгера, показывающий исходную ошибку без модуля с именем 'main'

Traceback (most recent call last): File "/env/lib/python3.7/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker worker.init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/gthread.py", line 104, in init_process super(ThreadWorker, self).init_process() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 129, in init_process self.load_wsgi() File "/env/lib/python3.7/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi self.wsgi = self.app.wsgi() File "/env/lib/python3.7/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 52, in load return self.load_wsgiapp() File "/env/lib/python3.7/site-packages/gunicorn/app/wsgiapp.py", line 41, in load_wsgiapp return util.import_app(self.app_uri) File "/env/lib/python3.7/site-packages/gunicorn/util.py", line 350, in import_app __import__(module) ModuleNotFoundError: No module named 'main'

РЕДАКТИРОВАТЬ: Добавлен скриншот содержимого app.yaml

enter image description here

enter image description here

1 Ответ

1 голос
/ 09 апреля 2020

На основании трассировки следов обратите внимание, что вы используете Python 3.7, а предоставленная вами документация предназначена для Python 2.7. Пожалуйста, настройте файл app.yaml соответственно.

Следующая документация поможет вам при переходе на Python 3 стандартной среды выполнения.

Обратите внимание, что при использовании среды выполнения Python 3 ваше приложение будет использовать веб-инфраструктуру, например Django или Flask, для маршрутизации запросов. Python 2 раньше делал это, определяя обработчики URL в файле app.yaml.

...