Развертывание каналов в Ubuntu 16.04 - ошибка websocket
После долгих исследований, проб и ошибок я пишу здесь, потому что у меня проблема с развертыванием моего приложения dango с каналами в Digital Ocean в Ubuntu 16.04.
Извините, если есть ошибки ниже, довольно новичок здесь:D
У меня все хорошо работает в разработке, включая веб-сокеты с каналом. До того, как у меня появилась функция каналов, я использовал следующее руководство для настройки сервера: https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04 и все работало хорошо.
Сейчас я пытаюсь заставить работать мою новую версию с каналами, но я не могу этого сделать!
Мой план состоял в том, чтобы создать Daphne в systemctl и запустить его в фоновом режиме (поверх моей существующей конфигурации Nginx wsgi согласно руководству Digital Ocean). Перед тем, как это сделать, чтобы проверить Дафну, я попытался просто запустить ее в оболочке с помощью этих трех команд (пробовал каждую):
daphne myproject.asgi:application
daphne -p 8001 myproject.asgi:application
daphne -b 0.0.0.0 -p 8001 myproject.asgi:application
все они запускаются, но когда я захожу на веб-страницу, которая соединяется с веб-сокетом, я получаю следующую ошибку в консоли javascript:
Сбой: Ошибка во время рукопожатия WebSocket: Неожиданный код ответа: 200
Я думал, что это проблема с брандмауэром, поэтому я открыл порты, но не повезло.
В разработке все работает хорошо, поэтому я уверен, что я делаю что-то не так в развертывании, но я не уверен, что! Любая помощь будет принята с благодарностью.
РЕДАКТИРОВАТЬ:
Некоторая дополнительная информация о конфигурации Nginx:
server {
server_name ___;
location = /favicon.ico { access_log off; log_not_found off; }
location /staticfiles/ {
root /home/alex/projects/my-project;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/alex/projects/my-project/project.sock;
}
## CertBot SSL code
server {
## CertBot SSL code
listen 80;
server_name ___;
return 404; # managed by Certbot
}
И файл оружейного
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=alex
Group=www-data
WorkingDirectory=/home/alex/projects/my-project
ExecStart=/home/alexandre/projects/my_env/bin/gunicorn --access-logfile - --workers 3 --bind unix:/home/alexandre/projects/my-project/project.sock project.wsgi:application
[Install]
WantedBy=multi-user.target
Alex