django – Gunicorn和Nginx之间的沟通

我一直在尝试使用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,这样您就可以隔离不同阶段的任何故障.

相关文章

Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一...
本地项目配置 1 复制 luffy/settings/dev.py为prop.py 修改l...
nginx不仅可以隐藏版本信息,还支持自定义web服务器信息 先看...
一 、此次漏洞分析 1 nginx HTTP/2漏洞 [nginx-announce] ng...
###进入nginx 目录cd /usr/local/nginx###递归显示 2 级目录...
在cmd命令窗口输入下面命令进行查看 tasklist /fi "ima...