Nginx 为生产中的WebSocket配置django通道
我有一个页面有一个…/chat/url,整个过程都在localhost上运行。我正试图在ubuntu上部署,但却遇到了困难 我想直截了当地说出来就像是在发布我所得到的: /etc/nginx/sites enabled/mysite: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 {
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
,我不确定我是否已经发布了帮助您帮助我需要说什么的完整图片--如果有更多信息,请告诉我。谢谢大家!