Развернуть python-socketio на проекте django
Я хочу развернуть этот проект, который прекрасно работает на localhost или на команде python manage.py runserver, когда я пытаюсь развернуть его, я прочитал в документации на рабочем вы должны добавить это в службу gunicorn, которая, когда я делаю -k eventlet -w 1, она возвращает 502 bad gateway.
Вот что я получаю на основе https://github.com/miguelgrinberg/python-socketio/tree/main/examples/server/wsgi/django_example.
Это мой сервис gunicorn
[Unit]
Description=gunicorn daemon
Requires=dev.socket
After=network.target
[Unit]
Description=gunicorn daemon
Requires=dev.socket
After=network.target
[Service]
User=myuser
Group=www-data
WorkingDirectory=/var/lib/jenkins/workspace/myproject
ExecStart=/var/lib/jenkins/workspace/myproject/env/bin/gunicorn \
--access-logfile - \
--workers 3 \
-k eventlet \
--bind unix:/run/dev.sock \
myproject.wsgi:application
[Install]
WantedBy=multi-user.target
wsgi.py
import os
from django.core.wsgi import get_wsgi_application
import socketio
from app.views import sio
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'myproject.settings')
wsgi_application = get_wsgi_application()
application = socketio.WSGIApp(sio, wsgi_application)
settings.py
...
WSGI_APPLICATION = 'myproject.wsgi.application'
...
Если я удалю -k eventlet из сервиса dev.service gunicorn, то 502 bad gateway пропадает, а страница продолжает загружаться вечно и возвращает 504 Gateway Time-out, а если я верну wsgi. py к его шаблону django по умолчанию, он показывает страницу, но websockets не работает, и страница продолжает посылать https://example.com/socket.io/?EIO=4&transport=polling&t=opIU5ZA GET запросы, которые получают 502 bad gateway