V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
crazycabbage
V2EX  ›  Django

django+uwsgi+nginx 访问出错

  •  
  •   crazycabbage · 2016-05-13 19:16:18 +08:00 · 4735 次点击
    这是一个创建于 2898 天前的主题,其中的信息可能已经有所发展或是发生改变。
    报错如下:
    2016/05/13 19:02:40 [error] 11057#0: *162 upstream prematurely closed connection while reading 
    response header from upstream, client: xxx.xxx.xxx.xxx, server: xxx.xxx.xxx.xxx, request: "GET 
    /poweredby.png HTTP/1.1", upstream: "uwsgi://127.0.0.1:8003", host: "xxx.xxx.xxx.xxx:8000", 
    referrer: "http://xxx.xxx.xxx.xxx:8000/"
    
    uwsgi 配置如下:
    [uwsgi]
    socket = 127.0.0.1:8003
    touch-reload=/myblog/reload
    
    processes = 2
    threads = 4
    vacuum = true
    
    nginx 配置如下:
     server {
            listen       8000;
            server_name  xxx.xxx.xxx.xxx;
            root         /usr/share/nginx/html;
            access_log /logs/access.log;
            error_log /logs/error.log;
    
            charset     utf-8;
    
            # Load configuration files for the default server block.
    
            location / {
                include  /etc/nginx/uwsgi_params;
                uwsgi_pass  127.0.0.1:8003;
                client_max_body_size 35m;
                uwsgi_param UWSGI_SCRIPT myblog.wsgi;
                uwsgi_param UWSGI_CHDIR /myblog;
            }
            location /media  {
                alias /path/to/project/media;
            }
    
            location /static {
                alias /path/to/project/static;
            }
    
            error_page 404 /404.html;
                location = /40x.html {
            }
    
            error_page 500 502 503 504 /50x.html;
                location = /50x.html {
            }
        }
    
    views.py 文件内容
    #coding:utf-8
    from django.shortcuts import render
    from django.http import HttpResponse
    
    # Create your views here.
    def index(request):
        return HttpResponse(u"Hello World!!")
    

    搞了一天了,死活连不上, uwsgi8003 端口正常访问, nginx 代理 8000 端口连不上,端口已经开放,防火墙已经关闭,求解,感激不尽!

    13 条回复    2016-05-15 01:01:32 +08:00
    peter999
        1
    peter999  
       2016-05-13 19:20:55 +08:00
    selinux
    peter999
        2
    peter999  
       2016-05-13 19:22:24 +08:00
    nginx 监听的 ip 是不是写成本地了,保险的话写成 0.0.0.0
    pc10201
        3
    pc10201  
       2016-05-13 19:36:35 +08:00
    先直接用 uwsgi 跑 django 试一下,没有问题再与 nginx 一起开
    crazycabbage
        4
    crazycabbage  
    OP
       2016-05-13 19:40:40 +08:00
    @peter999 写的是 0.0.0.0
    crazycabbage
        5
    crazycabbage  
    OP
       2016-05-13 19:41:13 +08:00
    @pc10201 uwsgi 跑是能成功的,端口是 8003 , nginx 端口是 8000
    peter999
        6
    peter999  
       2016-05-13 19:43:36 +08:00
    配置个静态目录看能访问到吗,还有目录和文件权限问题
    peter999
        7
    peter999  
       2016-05-13 19:44:18 +08:00
    如果你有路由器又是通过外网 ip 访问,还要检查下路由器上端口是不是被别的机器占用了
    crazycabbage
        8
    crazycabbage  
    OP
       2016-05-13 23:49:10 +08:00
    @peter999 没有用路由器,端口换了也没用,根据错误日志是 upstream timed out (110: Connection timed out) while reading response header from upstream ,超时,谜一样
    zwzmzd
        9
    zwzmzd  
       2016-05-14 01:21:33 +08:00 via Android
    如果直接用 uwsgi 作前端,会有什么问题么?长期裸跑 uwsgi 的路过
    wizardoz
        10
    wizardoz  
       2016-05-14 15:47:03 +08:00
    你有没有搞错? 8003 端口正常访问?
    nginx 访问 uwsgi 用的是 wsgi 协议,浏览器访问 uwsgi 用的是 http 哦。
    wizardoz
        11
    wizardoz  
       2016-05-14 15:53:59 +08:00
    把配置文件中的
    socket = 127.0.0.1:8003
    改成
    uwsgi-socket = 127.0.0.1:8003
    试试

    或者手动起 uwsgi ,再用 nginx 反代过来试试。
    wizardoz
        12
    wizardoz  
       2016-05-14 15:55:27 +08:00
    然后再把
    uwsgi-socket = 127.0.0.1:8003
    改成
    uwsgi-socket = 0.0.0.0:8003
    试试
    crazycabbage
        13
    crazycabbage  
    OP
       2016-05-15 01:01:32 +08:00
    @wizardoz 谢谢了,已经解决了,估计是 uwsgi_param UWSGI_SCRIPT myblog.wsgi;uwsgi_param UWSGI_CHDIR /myblog;这个问题,我是用 supervisor 来管理的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2543 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 15:35 · PVG 23:35 · LAX 08:35 · JFK 11:35
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.