django 如何解决uwsgi环境中的500错误

lokaqttq  于 2022-12-30  发布在  Go
关注(0)|答案(2)|浏览(313)

应用程序由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)

关于uwsgi的500的原因有什么解决办法吗?
因为500是由uwsgi生成的,所以这不是nginx和uwsgi之间的问题。

pftdvrlh

pftdvrlh1#

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

tvz2xvvm

tvz2xvvm2#

uwsgi应该转发worker的stdout,你可能想看看django日志记录,让它输出发生在那里的异常/错误的细节

相关问题