V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
yangonee
V2EX  ›  Python

Django+nginx+uwsgi 部署问题

  •  1
     
  •   yangonee · 2016-11-06 15:45:38 +08:00 · 3785 次点击
    这是一个创建于 2938 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在亚马逊 EC2 上使用 nginx+uwsgi 部署 django 项目。首页能正常打开,但是其他页面都报 404 。我在本地使用 python manage.py runserver 都是正常的。为什么部署到 EC2 就打不开其他页面了???系统是 ubuntu 14.04
    第 1 条附言  ·  2016-11-06 21:39:25 +08:00
    刚才又调了一下,发现打开首页的时候, uwsgi.log 有日志记录,如下:
    pid: 24653|app: 0|req: 2/5] 115.44.152.130 () {42 vars in 881 bytes} [Sun Nov 6 21:30:08 2016] GET / => generated 1894 bytes in 3 msecs (HTTP/1.1 200) 3 headers in 102 bytes (1 switches on core 0)

    但是打开登录和其他页面(报 404 错误的页面)的时候, uwsgi.log 中不产生任何日志记录。我猜想是不是 Nginx 没有将请求转发到 uwsgi ,所以找不到页面?

    也查了下 nginx 的 error.log 记录,并没有产生错误记录。
    第 2 条附言  ·  2016-11-07 16:12:58 +08:00
    处理好了, Nginx 的默认配置有个调起 404 页面的配置没有注释掉。所以非主页(第一个页面)的的请求直接就到 Nginx 的 404 了。
    12 条回复    2016-11-06 22:43:30 +08:00
    panda1001
        2
    panda1001  
       2016-11-06 16:34:45 +08:00 via Android
    检查下静态文件的路径
    linkbg
        3
    linkbg  
       2016-11-06 16:48:14 +08:00 via iPhone
    我也遇到过,不知道是不是地址少了 /之类的。
    yangonee
        4
    yangonee  
    OP
       2016-11-06 18:53:51 +08:00
    @linkbg 我本地是 OK 的,你说的地址问题是说 nginx 和 uwsgi 的配置文件?
    kaka826
        5
    kaka826  
       2016-11-06 18:56:33 +08:00 via iPhone
    有看过错误日志么
    linkbg
        6
    linkbg  
       2016-11-06 19:54:53 +08:00 via iPhone
    我之前也是本地点击链接正常,但是部署之后莫名其妙的 404 。举个例子: www.123.com/login 这样就 404 。然后如果加个 /就可以, www.123.com/login/。不知道你是不是也是这个问题。
    yangonee
        7
    yangonee  
    OP
       2016-11-06 20:48:24 +08:00
    @linkbg 不是这个问题,静态文件的路径我也查了,没问题
    Yc1992
        8
    Yc1992  
       2016-11-06 20:51:35 +08:00
    collectstatic 了吗
    yangonee
        9
    yangonee  
    OP
       2016-11-06 21:09:48 +08:00
    @Yc1992 用了
    Yc1992
        10
    Yc1992  
       2016-11-06 21:50:09 +08:00
    https://github.com/crasker/mysite/blob/dev/conf/nginx.conf 我的 nginx 配置 也是 uwsgi+django 你可以参考下
    guyskk
        11
    guyskk  
       2016-11-06 22:38:13 +08:00 via Android
    看描述应该是 Nginx 没配置好,建议把 Nginx 配置贴出来
    mornlight
        12
    mornlight  
       2016-11-06 22:43:30 +08:00
    nginx 的 404 和 Django 自己的 404 长得不一样,你仔细看看,确认是哪部分的问题
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3262 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 10:40 · PVG 18:40 · LAX 02:40 · JFK 05:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.