我一直在尝试使用Gunicorn作为我的应用程序服务器和Nginx作为反向代理来运行我的django生产服务器.
下面是我的nginx conf文件:
server {
listen 80;
server_name myproject.com;
location /static/ {
alias /var/www/myproject/static/;
}
location /media/ {
alias /var/www/myproject/media/;
}
location / {
include proxy_params;
proxy_pass http://unix:/home/user/myproject/myproject.sock;
}
}
下面是我的gunicorn.conf文件:
description "Gunicorn application server handling my project file"
start on runlevel [2345]
stop on runlevel [!2345]
respawn
setuid user
setgid www-data
chdir /home/user/myproject/
exec gunicorn --workers 3 --bind unix:/home/user/myproject/myproject.sock myproject.wsgi:application
下面是myproject.sock文件的代码:
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn/socket
ListenStream=0.0.0.0:9000
ListenStream=[::]:8000
[Install]
WantedBy=sockets.target
当我尝试使用这些设置运行时.我收到以下错误:
connect() to unix:/home/user/myproject/myproject.sock failed (111: Connection refused) while connecting to upstream
如果有人能帮助我理解我做错了什么就会很棒.谢谢
最佳答案
假设您运行的是Ubuntu 14.04:
步骤1:
首先你可以在virtualenv中使用gunicorn安装和运行django.这里与nginx无关,但你可以从Django和gunicorn中得到反馈.
第2步:
然后是时候用nginx做一个健壮的方式.
确保步骤1亮绿灯然后跳到步骤2,这样您就可以隔离不同阶段的任何故障.