Я развернул простое приложение Django на VPS, вот мое окружение:
virtualenv
gunicorn
nginx
systemd
Все работает отлично, я вижу загрузку моего шаблона. Я также добавил небольшую Django функцию каналов, но эта часть не работает; поэтому, хотя я могу использовать его на WSGI без каких-либо проблем, если я попытаюсь связаться с потребителем, я получу ошибку. Итак, мой вопрос: как я могу запустить каналы тоже в производстве?
Вот что я сейчас сделал:
/ etc / nginx / sites-available / myproject
server {
listen 80;
server_name 54.39.20.155;
location = /favicon.ico { access_log off; log_not_found off; }
location /static/ {
root /WaitingRoomVenv/WaitingRoom/WaitingRoom/static;
}
location / {
include proxy_params;
proxy_pass http://unix:/WaitingRoomVenv/WaitingRoomEnv.sock;
}
}
/ etc / systemd / system / gunicorn.service
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=root
Group=www-data
WorkingDirectory=/WaitingRoomVenv/WaitingRoom
ExecStart=/WaitingRoomVenv/WaitingRoomEnv/bin/gunicorn --access-logfile - --workers 3 --bind unix:/WaitingRoomVenv/WaitingRoomEnv.sock WR.wsgi:application
[Install]
WantedBy=multi-user.target
Для запуска gunicorn: sudo systemctl start gunicorn
Для запуска nginx: sudo systemctl restart nginx