Развернуть каналы django на nginx
Я ничего не знаю о 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 ответа
Вам нужно запустить приложение через 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;
}