1

应用uwsgi+django+nginx部署,每次大约有300个请求,但是uwsgi会随机产生500错误,我查看django log没有问题发现,uwsgi打印日志如下:

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

有什么解决方案可以找出 500 关于 uwsgi 的原因吗?

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

4

1 回答 1

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 并向其发出直接请求。

于 2014-04-20T14:24:20.957 回答