Run simultaneously UWSGI and ASGI with Django

前端 未结 1 1138
忘了有多久
忘了有多久 2020-12-29 10:20

I\'m currently running a Django (2.0.2) server with uWSGI having 10 workers

I\'m trying to implement a real time chat and I took a look at Channel. The documentati

1条回答
  •  孤城傲影
    2020-12-29 10:59

    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.

    0 讨论(0)
提交回复
热议问题