【发布时间】:2013-11-04 22:18:33
【问题描述】:
我有一个生产 django 应用程序,它在 Debug = True; 下运行良好,但在 Debug=False 下运行良好。
如果我加载运行域,它会显示我的urls.py 文件,这真的很糟糕。
我想让我的应用程序使用 Debug=False 和 TEMPLATE_DEBUG=False 而不是 Debug=True 和 TEMPLATE_DEBUG=True ,因为通过使用 True 值它会公开应用程序
如果我使用DEBUG=True 在 nginx 下查看我的 error.log:
2013/10/25 11:35:34 [error] 2263#0: *5 connect() failed (111: Connection refused) while connecting to upstream, client: xx.xxx.xx.xxx, server: *.myapp.com, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:8001/", host: "www.myapp.com"
用DEBUG=True查看我在nginx下的access.log:
xx.xxx.xx.xxx - - [25/Oct/2013:11:35:33 +0000] "GET / HTTP/1.1" 502 173 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0"
所以我的问题是,为什么当我设置DEBUG=True 和TEMPLATE_DEBUG=True 时它会成功加载并显示应用程序,而当我设置DEBUG=False 和TEMPLATE_DEBUG=False 时它会显示自定义http 500 错误页面? (我已经创建了处理 http 500 错误)
【问题讨论】:
-
明确一点:DEBUG=True 和 False 是否可以正常工作?
-
是的。这有意义吗?
-
gunicorn.log 中有什么内容?
-
您是否在设置中设置了 allowed_hosts ?
-
如果为 gunicorn 设置 loglevel=debug 并查看日志会怎样?
标签: django http nginx gunicorn