Я пытаюсь развернуть mod_wsgi с apache для запуска приложения django, но я получаю сообщение об ошибке внутренней внутренней ошибки 500. Журналы apache показывают:
[Thu Jun 23 14:01:47 2011] [error] [client 152.78.95.64] mod_wsgi (pid=16142): Exception occurred processing WSGI script '/home/user/bms/apache/django.wsgi'.
[Thu Jun 23 14:01:47 2011] [error] [client 152.78.95.64] Traceback (most recent call last):
[Thu Jun 23 14:01:47 2011] [error] [client 152.78.95.64] File "/home/user/bms/apache/django.wsgi", line 13, in <module>
[Thu Jun 23 14:01:47 2011] [error] [client 152.78.95.64] import django.core.handlers.wsgi
[Thu Jun 23 14:01:47 2011] [error] [client 152.78.95.64] ImportError: No module named django.core.handlers.wsgi
Мой виртуальный хост apache выглядит следующим образом:
<VirtualHost *:80>
DocumentRoot /home/user/bms
<Directory /home/user/bms>
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess bms user=user group=user processes=2 threads=25 python-path=/usr/local/lib/python2.7/site-packages
WSGIProcessGroup bms
WSGIScriptAlias / /home/user/bms/apache/django.wsgi
</VirtualHost>
И ссылающийся файл wsgi в моем каталоге приложения с разрешениями 0777:
import os
import sys
path = '/home/user/bms'
if path not in sys.path:
sys.path.append(path)
os.environ['DJANGO_SETTINGS_MODULE'] = 'bms.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
Я слышал, что это может быть связано с тем, что пользователь Apache не имеет правильных разрешений. Однако я не знаю, как это исправить. Я также попытался запустить deamon с пользователем www-data, и это не решило проблему.
ИЗМЕНИТЬ
Я решил это, скопировав файл виртуальных хостов по умолчанию, а затем отключив старый с помощью a2dissite. Я понятия не имею, как я могу это сделать "правильно" и установить его так, чтобы apache перешел на виртуальный хост, который я хочу, хотя.