如何调试 Django/WSGI/Apache 错误

如何调试 Django/WSGI/Apache 错误

我在 Apache 2 和 WSGI、Python 2.7 上部署了一个 Django 1.11.17 应用程序。

Apache 显示错误“从守护进程接收到截断或过大的响应标头”

我已经检查了给出的解决方案 WSGI:从守护进程接收到截断或过大的响应标头

并且WSGIApplicationGroup %{GLOBAL}位于虚拟主机文件中。然而错误仍然存​​在。

Django shell 运行正常。Django check 没有返回任何错误。Django runserver 运行正常。Django 日志没有显示任何错误。

我如何才能看到导致 WSGI 无法正常工作的具体错误?

答案1

您可以使用 提供的调试模式mod_wsgi。您可以在此处找到文档:
https://modwsgi.readthedocs.io/en/develop/user-guides/debugging-techniques.html

但是,我们发现我们使用的第三方软件包(例如numpypsycopg2-binary)导致了问题。在我们的例子中,我们使用了 psycopg2-binary,这对于生产应用程序来说是大忌。我们删除了它并按照他们的 pip 安装文档进行操作,一切正常。我们还将其添加到了WSGIApplicationGroup %{GLOBAL}我们的 apache2 服务器设置中。

您可能会发现psycopg在以下位置找到文档http://initd.org/psycopg/docs/install.html#prerequisites

希望这可以帮助。

相关内容