Pregunta

Estoy tratando de ejecutar mis sitios Django con mod_wsgi en lugar de mod_python (RHEL 5). Intenté esto con todos mis sitios, pero tengo el mismo problema. Lo configuré de la manera estándar que todo el mundo recomienda, pero las solicitudes al sitio simplemente expiran.

Apache conf:

<VirtualHost 74.54.144.34>
    DocumentRoot /wwwclients/thymeandagain
    ServerName thymeandagain4corners.com
    ServerAlias www.thymeandagain4corners.com
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    CustomLog /var/log/httpd/thymeandagain_access_log combined
    ErrorLog /var/log/httpd/thymeandagain_error_log
    LogLevel error
    WSGIScriptAlias / /wwwclients/thymeandagain/wsgi_handler.py
    WSGIDaemonProcess thymeandagain user=admin group=admin processes=1 threads=16
    WSGIProcessGroup thymeandagain
</VirtualHost>

wsgi_handler.py:

import sys
import os

sys.path.append("/wwwclients")
os.environ['DJANGO_SETTINGS_MODULE'] = 'thymeandagain.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

Se supone que el demonio mod_wsgi se genera no está allí, por lo que las solicitudes solo se agotan y obtengo un montón de "No se puede conectar al proceso de demonio WSGI". errores en los registros. ¿Hay algo en la directiva WSGIDaemonProcess que impide la creación del demonio? Gracias de antemano por cualquier ayuda ...

EDITAR: aparece esto en el registro de errores:

[WARN@1227228322.174175] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[INFO@1227228322.174263] mcm_get_line():1592
[WARN@1227227903.249626] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[INFO@1227227903.249712] mcm_get_line():1592
[Thu Nov 20 21:18:17 2008] [notice] caught SIGTERM, shutting down
[Thu Nov 20 21:18:18 2008] [notice] Digest: generating secret for digest authentication ...
[Thu Nov 20 21:18:18 2008] [notice] Digest: done
[Thu Nov 20 21:18:18 2008] [notice] mod_python: Creating 4 session mutexes based on 8 max processes and 64 max threads.
[Thu Nov 20 21:18:18 2008] [notice] Apache/2.2.3 (Red Hat) mod_python/3.2.8 Python/2.4.3 mod_wsgi/2.1-BRANCH configured -- resuming normal operations
¿Fue útil?

Solución

El problema es que mod_python no funciona bien junto con mod_wsgi. Tuve un problema similar hace unas semanas y todo comenzó a funcionar para mí poco después de comentar la inclusión de mod_python.

Intente buscar en modwsgi.org wiki para "mod_python", creo que había alguien hablando de esto en algún lugar de comentarios

Otros consejos

El verdadero problema son los permisos en el directorio de registro de Apache. Es necesario decirle a Apache / mod_wsgi que use una ubicación alternativa para los sockets UNIX utilizados para comunicarse con los procesos del demonio. Ver:

http://code.google.com/p/modwsgi/wiki/ ConfigurationIssues # Location_Of_UNIX_Sockets

Aquí hay una descripción muy detallada sobre cómo integrar django con mod_wsgi.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top