Gunicorn和Nginx之间的沟通

时间:2016-02-02 14:41:44

标签: django nginx gunicorn

我一直在尝试使用Gunicorn作为我的应用程序服务器运行我的django生产服务器,并使用Nginx作为反向代理。

以下是我的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

如果有人能帮助我理解我做错了什么,那就太好了。感谢

1 个答案:

答案 0 :(得分:-2)

假设您运行的是Ubuntu 14.04:

步骤1: 首先,您可以在virtualenv中使用gunicorn安装和运行django。这里与nginx无关,但您可以完全从Django和gunicorn获得反馈。

步骤2: 然后是时候用nginx做一个强有力的方法了。

确保步骤1亮绿灯然后跳到第2步,这样就可以隔离不同阶段的任何问题。