Я новичок в веб-разработке, поэтому ценю помощь умных людей. Я пытаюсь переключиться с gunicorn на Daphne для моего приложения Django на GAE Flex, так как мне нужно использовать каналы Django.
Раньше сайт нормально работал с Gunicorn в качестве точки входа (в файле app.yaml). Я просто заменил его на daphne (я бы хотел избежать сложностей, изменив конфигурации nginx, сокеты Unix и т. Д., поэтому я думаю, что меня устраивает, что Дафна обслуживает запросы HTTP и ws). Итак, теперь мой app.yaml выглядит так:
runtime: python
env: flex
runtime_config:
python_version: 3
entrypoint: daphne -b 0.0.0.0 -p 8001 my_project_name.asgi:application
Я уже сделал файл .asgi рядом с моим файлом .wsgi и объявил там приложение.
В файле requirements.txt я убедился, что пакеты daphne (2.4.1) и asgiref (3.2.3) являются последними версиями.
Наконец, когда я выполняю «развертывание приложения gcloud», развертывание происходит плавно, и в журналах сборки я вижу запуск Дафны:
Step #1: Step 9/9 : CMD exec daphne -b 0.0.0.0 -p 8001 my_project_name.asgi:application
Step #1: ---> Running in c6f3762a5ce2
Но я получаю на сайте ошибку 502 Bad Gateway с «nginx» в следующей строке.
Вопрос: Что я делаю не так? Это потому, что Дафна не обслуживает HTTP-запросы? Могу ли я сделать что-нибудь другое, чтобы Дафна обслуживала HTTP-запросы? Прямо сейчас мои http-пути обслуживаются в Django модулем urls.py, а не модулем routing.py (который заботится только о ws-запросах). Должен ли я как-то это изменить?
Если вы считаете, что разделение входящих запросов и отправка http на gunicorn - единственный способ, опишите эти шаги. Что произойдет с точкой входа в файле app.yaml, если я это сделаю?
Мои усилия на данный момент: я вижу много вопросов по SO (например, это и this) и другие онлайн-руководства по использованию daphne на автономных машинах Linux, но не на движках приложений, таких как GAE Flex. Единственный пост, связанный с GAE, который я видел, был this, но это другая проблема, чем моя.
resources: memory_gb: 4
и повторно разверните приложение. - person Methkal Khalawi   schedule 21.01.2020