微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Django + gunicorn + nginxconfiguration上的坏的网关

当我尝试访问我的网站时,我只看到502错误。 这是我的Nginxconfiguration:

upstream pzw_server { # server unix:/home/pzw/pzw/run/gunicorn.sock fail_timeout=0; server 127.0.0.1:8000 fail_timeout=0; } server { listen 80; server_name my_server_ip_addr; client_max_body_size 4G; access_log /home/pzw/pzw/log/Nginx-access.log; error_log /home/pzw/pzw/log/Nginx-error.log; location /static/ { alias /home/pzw/pzw/static/; } location /media/ { alias /home/pzw/pzw/media/; } location / { try_files $uri @proxy; } location @proxy { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://my_server_ip_addr; } }

我正在使用的Gunicorn启动脚本:

#!/bin/bash NAME='app_name' DJANGODIR=/home/pzw/pzw SOCKFILE=/home/pzw/pzw/run/gunicorn.sock USER=pzw GROUP=pzw NUM_WORKERS=3 DJANGO_SETTINGS_MODULE=app_name.settings VIRTENVDIR=/home/pzw/.virtualenvs/pzw echo "STARTING $NAME" cd $DJANGODIR source "${VIRTENVDIR}/bin/activate" export DJANGO_SETTINGS_MODULE=$DJANGO_SETTINGS_MODULE export PYTHONPATH=$DJANGODIR:$PYTHONPATH RUNDIR=$(dirname $SOCKFILE) test -d $RUNDIR || mkdir -p $RUNDIR exec "${VIRTENVDIR}/bin/gunicorn_django" --name $NAME --workers $NUM_WORKERS --user=$USER --group=$GROUP --debug --log-level debug # # --bind=unix:$SOCKFILE

Nginx的日志如下错误

2013/08/03 23:26:04 [error] 8582#0: *1 connect() Failed (111: Connection refused) while connecting to upstream,client: my_ip,server: my_server_ip,request: "GET / HTTP/1.1",upstream: "http://my_server_ip:80/",host: "my_server_ip"

当我尝试使用lynx连接到我的服务器上的127.0.0.1:8000时,一切似乎都没有问题。 最初我试图使用unix套接字,但由于它不起作用(相同的错误),我切换到TCP。 Gunicorn没有logging与Nginx的连接。

ZeroMQ + Django&uwsgi问题

Django静态文件托pipe一个Apache

无法将Wsgi脚本作为python模块加载 – 500内部服务器错误

我如何强制Nginx将caching文件夹中的响应保存在上游服务器的头文件中?

Nginx 504网关超时更改系统date

让Apache读取所有发布的数据,然后传递给Django

使用Nginx和Django设置Unix套接

在Windows上的Django 1.7 dumpdata扰乱unicode字符

django admin在保存时redirect到错误的端口

django – Nginx + fastcgi – >未处理的exception(从Django 1.2.4升级到Django 1.3后)

您的Nginx服务器配置中的proxy_pass指令应反映您配置的上游服务器。

proxy_pass http://pzw_server;

http://wiki.Nginx.org/HttpUpstreammodulee

xaxes,

每当将TEMPLATE_DEBUG设置为False时,您还需要设置ALLOWED_HOSTS,以便Django知道要处理请求的主机/域。 显然,当ALLOWED_HOSTS只是空列表时,localhost隐式地工作。

我希望这有帮助!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐