Estoy tratando de usar una aplicación django en mi máquina ubuntu local. Sin embargo, el sitio no funciona y mi /var/log/apache2/errors.log
está lleno de mensajes como este:
ImportError: No module named site
Mi /var/log/apache2/error.log
(por hoy) se ve así:
$ cat error.log | uniq -c
1 [Wed Jun 29 09:37:37 2011] [notice] Apache/2.2.17 (Ubuntu) mod_wsgi/3.3 Python/2.7.1+ configured -- resuming normal operations
12966 ImportError: No module named site
Ese es el aviso de que comenzó cuando encendí mi máquina, seguido de 12,966 líneas que decían el no module named site
mensaje
tenga en cuenta la falta de un campo de fecha y hora. Estos errores se repiten incluso cuando no se va al sitio web (es decir, incluso cuando no se realizan solicitudes web). Cuando va al sitio web en un navegador, simplemente se cuelga, como si esperara una descarga grande.
Configuraciones
Módulos Apache
Estoy usando un python 2.5 virtualenv con muchos paquetes (incluido django 1.1) instalados con pip. Tengo mod_wsgi cargado:
$ ls -l /etc/apache2/mods-enabled/wsgi*
lrwxrwxrwx 1 root root 27 2010-10-04 16:50 /etc/apache2/mods-enabled/wsgi.conf -> ../mods-available/wsgi.conf
lrwxrwxrwx 1 root root 27 2010-10-04 16:50 /etc/apache2/mods-enabled/wsgi.load -> ../mods-available/wsgi.load
Yo uso "tix" como un nombre de dominio que se establece en localhost en /etc/hosts
$ grep tix /etc/hosts
127.0.0.1 tix
Configuración de Apache
Aquí está mi configuración de apache (puede ver algunos intentos para que funcione, líneas comentadas, etc.) :
# mod-wsgi enabled virtual host
WSGISocketPrefix /home/rory/tix/tix_wsgi/tmp
WSGIPythonHome /home/rory/tix/virtualenv2.5/lib/python2.5/
UnSetEnv PYTHONSTARTUP
SetEnv PYTHONPATH /home/rory/tix/virtualenv2.5/lib/python2.5/
#WSGIPythonEggs /home/rory/svn/tix/tmp/python-eggs
<VirtualHost 127.0.0.1:80>
ServerName tix
Alias /media /home/rory/tix/tix/media
Alias /selenium /home/rory/tix/tix/tests/selenium
<Directory /home/rory/tix/tix/media>
SetHandler None
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess tix user=tix_wsgi group=tix_wsgi processes=4 threads=1 python-path=/home/rory/tix/virtualenv2.5/lib/python2.5/site-packages
WSGIScriptAlias / /home/rory/tix/tix/apache/loader.wsgi
WSGIProcessGroup tix
CustomLog /var/log/apache2/tix_access.log combined
ErrorLog /var/log/apache2/tix_error.log
<Location /server-status>
SetHandler server-status
Order Deny,Allow
Deny from all
</Location>
<IfModule rewrite_module>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^media.tix$ [NC]
RewriteRule .? http://tix/media%{REQUEST_URI} [R=301,L]
</IfModule>
</VirtualHost>
cargador wsgi
Aquí está mi loader.wsgi:
Solía tener import site
en este archivo, que pensé que podría haber causado el problema, pero lo eliminé y los errores siguen apareciendo.
# loader.wsgi - WSGI adapter for tix django project
# The python paste wrapper catches apache 500 errors (Internal Server Errors) and gives debug output
# See http://pythonpaste.org/modules/exceptions.html
import os
import sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'tix.settings.base'
from paste.exceptions.errormiddleware import ErrorMiddleware
import django.core.handlers.wsgi
tixette = django.core.handlers.wsgi.WSGIHandler()
application = ErrorMiddleware(tixette, debug=True, error_email='operator@example.com', error_subject_prefix='Alert: wsgi loader python paste: ', error_log='/tix/1.0/logs/paste.log', show_exceptions_in_wsgi_errors=False)
Esta configuración solía funcionar bien en Ubuntu 10.10, pero desde que actualicé a Ubuntu 11.04, obtengo los errores anteriores.