【发布时间】:2020-07-28 04:02:55
【问题描述】:
我将一个简单的 Django 应用部署到 VPS,这是我的环境:
virtualenv
gunicorn
nginx
systemd
一切正常,我可以看到我的模板正在加载。我还添加了一个小的 Django Channels 功能,但那部分不起作用;所以虽然我可以在 WSGI 上毫无问题地使用它,但如果我尝试联系消费者,我会收到错误消息。所以我的问题是:如何在生产环境中运行 Channels?
这是我目前所做的:
/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
【问题讨论】:
标签: python django nginx gunicorn django-channels