【发布时间】:2012-11-04 10:04:42
【问题描述】:
我已经运行了 Apache + mod_wsgi + django。出于某种原因,服务器上发生了一些变化,现在 apache 完全挂起——它停止响应所有其他请求,必须停止并启动——当我发布请求时。最终我们看到“脚本头过早结束:django.wsgi”错误。
我们做了一个 strace,我看到的一件可疑的事情是“GATEWAY_INTERFACE\0CGI/1.1\0SERVER_PROTOCOL...”(我们还看到了一个关闭消息。)
“GATEWAY_INTERFACE\0CGI/1.1”是否指定它是为 CGI 而不是 WSGI 设置的? (我已经读过如果将其设置为 CGI,可能会导致脚本过早结束。)
我们的虚拟主机指定:
WSGIDaemonProcess [host] threads=25
WSGIProcessGroup [host]
WSGIScriptAlias / /path/to/apache/django.wsgi
我在 httpd.conf 中看到与 CGI 无关,只是加载了 WSGI 模块。
【问题讨论】:
-
已修复。问题似乎是它挂在 django 中的导入语句上。当我设置 WSGIApplicationGroup %{GLOBAL} 问题已解决。
-
可能是由于第三方 Python 包带有 C 扩展模块,在子解释器中不起作用。 code.google.com/p/modwsgi/wiki/…