Я пытаюсь использовать приложение django на моей локальной машине с Ubuntu. Однако сайт не работает, и мой /var/log/apache2/errors.log
заполнен такими сообщениями:
ImportError: No module named site
Моя /var/log/apache2/error.log
(на сегодня) выглядит так:
$ 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
Это уведомление , что он начал, когда я повернулся на моей машине, а затем 12,966 линии все произнося no module named site
сообщение
обратите внимание на отсутствие поля datetime. Эти ошибки повторяются даже тогда, когда вы не заходите на сайт (то есть даже когда не делаете веб-запросы). При переходе на сайт в браузере он просто зависает, как будто ждет большой загрузки.
настройки
Модули Apache
Я использую python 2.5 virtualenv с множеством пакетов (включая django 1.1), установленных с помощью pip. Я загрузил mod_wsgi:
$ 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
Я использую "TIX" в качестве доменного имени, установленного на localhost в /etc/hosts
$ grep tix /etc/hosts
127.0.0.1 tix
Конфигурация Apache
Вот моя конфигурация apache (вы можете увидеть некоторые попытки заставить его работать, закомментированные строки и т. Д.) :
# 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>
загрузчик wsgi
Вот мой loader.wsgi:
Я имел обыкновение иметь import site
в этом файле, который, я думал, мог вызвать проблему, но я удалил его, и ошибки продолжают появляться.
# 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)
Эта конфигурация работала нормально на Ubuntu 10.10, но, поскольку я обновился до Ubuntu 11.04, я получаю ошибки выше.