在Nginx上部署Django频道

时间:2018-08-26 03:42:25

标签: django nginx redis django-channels daphne

我对nginx以及有关如何配置它以运行频道一无所知。我的环境是django 2.x ubuntu 16 nginx daphne redis digitalocean我已经纠结了我的Nginx配置文件已有几个星期了,但现在无法我的套接字要连接。

nginx config

server {
  listen 80;
  server_name x.x.x.x;

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

  location /static/ {
    alias /home/admin1/myproject/channels-examples/multichat/static/ ;
  }

  location / {
    include proxy_params;
    proxy_pass http://unix:/home/admin1/myproject/channels-examples/multichat/multichat.sock
  }
}

我将非常感谢您的协助。

2 个答案:

答案 0 :(得分:0)

您需要通过daphne运行您的应用程序(您可以在此处查看更多信息:https://channels.readthedocs.io/en/latest/deploying.html),并为websockets连接配置相关的nginx部分:

location / {
    proxy_pass http://127.0.0.1:8000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
  }

答案 1 :(得分:0)

我在不受管理的VPS上也遇到了类似的问题。

检查一下我发现对我有用的repository

您的静态位置:

location /static/ {
    alias /home/admin1/myproject/channels-examples/multichat/static/ ;
}

应如下所示:

location /static {
    alias /home/admin1/myproject/channels-examples/multichat;
}