Run simultaneously UWSGI and ASGI with Django
It is possible to run WSGI alongside ASGI here is an example of a Nginx configuration:
server { listen 80; server_name {{ server_name }}; charset utf-8; location /static { alias {{ static_root }}; } # this is the endpoint of the channels routing location /ws/ { proxy_pass http://localhost:8089; # daphne (ASGI) listening on port 8089 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } location / { proxy_pass http://localhost:8088; # gunicorn (WSGI) listening on port 8088 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 75s; proxy_read_timeout 300s; client_max_body_size 50m; }}
To use the /ws/
correctly, you will need to enter your URL like that:
ws://localhost/ws/your_path
Then nginx will be able to upgrade the connection.