Recientemente implementé una aplicación en un host compartido (webfaction) y, sin ningún motivo aparente, mi sitio no se carga (funcionó hasta hoy).Depuración "final prematuro de encabezados de script" - WSGI/Django
Es una aplicación de django, pero el django.log ni siquiera se crea; la única pista es que en uno de los registros, recibo el mensaje de error: "Fin de encabezados de script prematuros", identificando mi archivo wsgi como fuente.
He intentado agregar el registro a mi archivo wsgi, pero no puedo encontrar ningún registro creado para él. ¿Hay alguna forma recomendada de solucionar este error? Estoy a punto de arrancarme el pelo.
Mi archivo 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
Gracias por esto. Resolví este problema instalando gunicornio al final. – Marcin
Tuve el mismo problema causado por una extensión de Python C. Agregué "WSGIApplicationGroup% {GLOBAL}" a mi configuración de Apache y resolvió el problema. La directiva obliga a ejecutar la aplicación WSGI dentro del primer intérprete de Python, lo que elimina los bloqueos que hacen que Apache reinicie los procesos. Puede leer más sobre esto en [Google Wiki] (https://code.google.com/p/modwsgi/wiki/ApplicationIssues#Python_Simplified_GIL_State_API) – Imraan
1. el registro del servidor web no ayudará porque el bloqueo ocurre antes que nada útil se registra, 2. esto ocurre incluso cuando Apache está configurado "correctamente", las configuraciones erróneas causan errores registrados, no segfaults ... – Cerin