Nginx 为生产中的WebSocket配置django通道

Nginx 为生产中的WebSocket配置django通道,nginx,websocket,supervisord,django-channels,daphne,Nginx,Websocket,Supervisord,Django Channels,Daphne,我有一个页面有一个…/chat/url,整个过程都在localhost上运行。我正试图在ubuntu上部署,但却遇到了困难 我想直截了当地说出来就像是在发布我所得到的: /etc/nginx/sites enabled/mysite: limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s; upstream channels-backend { server localhost:8001; } server {

我有一个页面有一个…/chat/url,整个过程都在localhost上运行。我正试图在ubuntu上部署,但却遇到了困难

我想直截了当地说出来就像是在发布我所得到的:

/etc/nginx/sites enabled/mysite:

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=1r/s;

upstream channels-backend {
    server localhost:8001;
}

server {
    listen 80;
    server_name foo.com;

    location = /favicon.ico { access_log off; log_not_found off; }
    location /static/ {
        root /home/ubuntu/mysite/mysite/;
    }

    location / {
        include proxy_params;
        limit_req zone=mylimit;
        proxy_pass http://unix:/run/gunicorn.sock;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}
我尝试将服务器块更改为包含:

...
    location / {
        try_files $uri @proxy_to_app;
        include proxy_params;
        limit_req zone=mylimit;
        proxy_pass http://unix:/run/gunicorn.sock;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }

    location @proxy_to_app {
        proxy_pass http://channels-backend;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";

        proxy_redirect off;
        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_set_header X-Forwarded-Host $server_name;
    }
...
但这促使我的网页转到503

我的python和js在本地主机上运行时看起来很好,并且运行
daphne-b0.0.0-p8001 myproject.asgi:application
会生成一条
侦听…
消息,这样看起来很好

我的
/etc/supervisor/conf.d/mysite.conf
是:

[program:mysite_asgi]
directory=/home/ubuntu/mysite/mysite
command=/home/ubuntu/mysite/mysite/venv/bin/daphne -b 0.0.0.0 -p 8001 mysite.asgi:application
autostart=true
autorestart=true
stopasgroup=true
user=ubuntu
stdout_logfile=/home/ubuntu/mysite/daphnelog/asgi.log
redirect_stderr=true
浏览器控制台显示
WebSocket连接到'ws://foo.com/chat/'失败:WebSocket握手时出错:意外响应代码:503
,我不确定我是否已经发布了帮助您帮助我需要说什么的完整图片--如果有更多信息,请告诉我。谢谢大家!