Приложение
My Django работало нормально на Google App Engine (гибкая версия), используя gunicorn в качестве точки входа в файле app.yaml. Мне нужно было добавить websockets к нему, поэтому я использовал Django Каналы (с Redis). Это прекрасно работает на моей локальной машине (Windows 10).
Для развертывания я изменил свою точку входа на daphne на порту 8080, так как это значение по умолчанию для GAE (использование $ PORT дает тот же эффект), поэтому мой Файл yaml теперь выглядит следующим образом:
runtime: python
env: flex
runtime_config:
python_version: 3
entrypoint: daphne -b 127.0.0.1 -p 8080 my_project_name.asgi:application
Я проверил мой файл .asgi и файл require.txt, чтобы убедиться, что все в порядке, а пакеты - последние версии.
Но после развертывания это, я получаю "502 Bad Gateway Nginx"
ошибку.
Журналы Stackdriver (nginx .error) на облачной консоли GCP говорят следующее:
[error] 33#33: *341 connect() failed (111: Connection refused) while connecting
to upstream, client: 172.xxx.xxx.xxx, server: , request: "GET / HTTP/1.1",
upstream: "172.17.0.1:8080", host: "my_project_name.appspot.com"
Я не распознаю эти IP-адреса для вышестоящего сервера или клиента, и я не знаю, что делать дальше. За последние 4 дня я пробовал множество вещей, в том числе:
с использованием различных портов (8000, 8001 и c)
добавление nginx .conf файла (на основе этой документации ) в каталог моего проекта, который, кажется, не имеет значения
Добавление строки в runtime_config раздел файла yaml, в котором указано «nginx_conf_http_include: nginx .conf»
4. Использование Unix сокетов для запуска сервера daphne в точке входа типа «точка входа»: daphne -u /tmp/daphne.sock my_project_name.asgi: приложение
Полное удаление точки входа после объявления сервера daphne в файле nginx .conf
Ничего из этого не помогает. Журналы остаются теми же, ошибка остается той же. Я читал ТАКИЕ вопросы, как , это и , это , но я не знаю, как применить их к GAE Flex, поскольку я не управляю экземпляром виртуальной машины напрямую. Пожалуйста, помогите.