调试“脚本头的过早结束” - WSGI / Django

时间:2012-03-26 14:20:30

标签: django

我最近将一个应用程序部署到共享主机(webfaction),并且由于没有明显的原因,我的网站根本不会加载(它一直工作到今天)。

这是一个django应用程序,但django.log甚至没有创建;唯一的线索是,在其中一个日志中,我收到错误消息:“脚本标题过早结束”,将我的wsgi文件标识为源。

我尝试将日志记录添加到我的wsgi文件中,但是我找不到为其创建的任何日志。有没有推荐的方法来调试此错误?我正在撕开我的头发。

我的WSGI文件:

import os
import sys

from django.core.handlers.wsgi import WSGIHandler

import logging

logger = logging.getLogger(__name__)


os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
os.environ['CELERY_LOADER'] = 'django'

virtenv = os.path.expanduser("~/webapps/django/oneclickcosvirt/")
activate_this = virtenv + "bin/activate_this.py"
execfile(activate_this, dict(__file__=activate_this))

# if 'VIRTUAL_ENV' not in os.environ:
#    os.environ['VIRTUAL_ENV'] = virtenv

sys.path.append(os.path.dirname(virtenv+'oneclickcos/'))

logger.debug('About to run WSGIHandler')

try:
        application = WSGIHandler()
except (Exception,), e:
       logger.debug('Exception starting wsgihandler: %s' % e)
       raise e

1 个答案:

答案 0 :(得分:2)

如果没有网络服务器日志,很难定义错误的确切原因:

可能的解决方案: http://code.google.com/p/modwsgi/wiki/InstallationIssues#Multiple_Python_Versions

并且d http://code.google.com/p/modwsgi/wiki/FrequentlyAskedQuestions

问:为什么我在Apache错误日志中看到错误消息“脚本标头过早结束”。

答:如果使用守护进程模式,这是mod_wsgi守护进程在处理请求时崩溃的症状。您可能还会看到消息“分段错误”。请参阅上面有关“细分错误”的问题的答案。

如果您没有正确配置Apache并且您的WSGI脚本文件正在作为CGI脚本执行,那么也会出现此错误消息。

希望它会有所帮助