python - framework - Ejecutando un sitio de Django bajo mod_wsgi
django tutorial español pdf (3)
Estoy intentando ejecutar mis sitios de 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 exceden el tiempo de espera.
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 daemon mod_wsgi no aparece, por lo que solicita el tiempo de espera y obtengo un montón de errores de "No se puede conectar con el proceso del daemon WSGI" en los registros. ¿Hay algo sobre la directiva WSGIDaemonProcess que impida la creación del daemon? Gracias de antemano por cualquier ayuda...
EDITAR: Lo consigo en el registro de errores:
[[email protected]] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[[email protected]] mcm_get_line():1592
[[email protected]] mcm_server_readable():2582: timeout: Operation now in progress: select(2) call timed out for read(2)able fds
[[email protected]] 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
Aquí hay una descripción muy detallada sobre cómo integrar django con mod_wsgi.
El problema es que mod_python no va bien junto con mod_wsgi. Me metí en un problema similar hace unas semanas y todo comenzó a funcionar para mí poco después de que comencé la inclusión de mod_python.
Intenta buscar en la wiki de modwsgi.org "mod_python", creo que había alguien hablando de esto en algún lugar de los comentarios
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 que se usan para comunicarse con los procesos daemon. Ver:
http://code.google.com/p/modwsgi/wiki/ConfigurationIssues#Location_Of_UNIX_Sockets