我已经运行了 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 模块。