如何在uwsgi环境中找出500错误

时间:2013-07-03 10:17:24

标签: django uwsgi

通过uwsgi + django + nginx部署应用程序,每次都有大约300个请求,但uwsgi会产生随机500错误,我检查django日志没有问题查找,uwsgi打印日志如下:

generated 47 bytes in 9 msecs (HTTP/1.0 500) 1 headers in 70 bytes (1 switches on core 0)

是否有任何解决方案可以找出500关于uwsgi的原因?

由于uwsgi生成500,所以它不是nginx和uwsgi之间的问题。

1 个答案:

答案 0 :(得分:0)

您的uWSGI日志应该揭示有关该问题的更多信息。对于初学者,日志应该显示请求URI对于错误的请求的内容:

[pid: 29526|app: 0|req: 1/1] 127.0.0.1 () {28 vars in 297 bytes} [Mon Apr 21 00:11:46 2014] GET /example => generated 4 bytes in 0 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)

在这种情况下,这是对/example的请求。这可能会揭示导致错误的原因的模式。另外,如果错误是由Python引起的,那么将以相同的方式记录未捕获的回溯(通过stderr)。

为了简化调试问题,您可能需要考虑仅使用其内置的HTTP路由器(通过uwsgi --http :8080 ...)运行uWSGI并直接向其发出请求。