加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

django gunicorn nginx配置上的坏网关

发布时间:2020-12-20 11:28:44 所属栏目:Python 来源:网络整理
导读:当我尝试访问我的网站时,我只看到502错误. 这是我的nginx配置: 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_
当我尝试访问我的网站时,我只看到502错误.
这是我的nginx配置:

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 socket,但由于它不起作用(相同的错误),我切换到TCP. Gunicorn没有记录与nginx的连接.

解决方法

nginx服务器配置中的proxy_pass指令应该反映您配置的上游服务器.

proxy_pass http://pzw_server;

http://wiki.nginx.org/HttpUpstreamModule

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读