Развернуть каналы django на nginx

Я ничего не знаю о nginx и о том, как настроить его для запуска каналов. Моя среда django 2.xubuntu 16nginxdaphneredisdigitalocean Я уже несколько недель возился с моим конфигурационным файлом 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 ответа

Вам нужно запустить приложение через daphne (вы можете прочитать больше здесь: https://channels.readthedocs.io/en/latest/deploying.html) и настроить соответствующий раздел nginx для соединений websockets:

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";
  }

У меня были подобные проблемы на моем неуправляемом VPS.

Проверьте этот репозиторий, который я создал, когда выяснил, что работает для меня.

ваше статическое местоположение:

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

должен выглядеть так:

location /static {
    alias /home/admin1/myproject/channels-examples/multichat;
}
Другие вопросы по тегам