我在 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
但是,我们发现我们使用的第三方软件包(例如numpy
或psycopg2-binary
)导致了问题。在我们的例子中,我们使用了 psycopg2-binary,这对于生产应用程序来说是大忌。我们删除了它并按照他们的 pip 安装文档进行操作,一切正常。我们还将其添加到了WSGIApplicationGroup %{GLOBAL}
我们的 apache2 服务器设置中。
您可能会发现psycopg
在以下位置找到文档http://initd.org/psycopg/docs/install.html#prerequisites
希望这可以帮助。