相关疑难解决方法(0)

在负载均衡器后面运行 daphne 的多个实例:django-channels

我用来为我的应用程序django-channels添加HTTP2WebSocket支持。我找不到很多关于如何扩展通道的文档。下面是我的nginx配置,它对daphne在同一台计算机但不同端口上运行的多个实例进行负载平衡。这是正确的方法吗?

upstream socket {
    least_conn;
    server 127.0.0.1:9000;
    server 127.0.0.1:9001;
    server 127.0.0.1:9002;
    server 127.0.0.1:9003;
}

server {
    listen 80;
    server_name 127.0.0.1;

    location = /favicon.ico { access_log off; log_not_found off; }

    location /static/ {
        root /home/niscp/home-screen;
    }

    location /nicons/ {
        root /home/niscp/home-screen;
    }

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/niscp/home-screen/home-screen.sock;
    }

    location /ws/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_pass http://socket;
    }
}
Run Code Online (Sandbox Code Playgroud)

除此之外,我还运行 的各个实例,以workers通过以下方式收听各个频道:

python manage.py …
Run Code Online (Sandbox Code Playgroud)

python django nginx django-channels

5
推荐指数
1
解决办法
5796
查看次数

标签 统计

django ×1

django-channels ×1

nginx ×1

python ×1