2012-06-05 2 views
3

Я помещаю свой сайт django в производство в первый раз, поэтому, пожалуйста, простите за мое невежество.Настройка django на apache (mod_wsgi, virtualenv)

Я пытаюсь поставить свой сайт django на apache. Я прочитал документацию о mod_wsgi и попробовал этот простой мир Hello, так что он настроен ОК. Проблема, с которой я сталкиваюсь, связана с использованием virtualenvs. Я хочу правильно настроить вещи, включая virtualenvs и все, чтобы я был готов к будущим сайтам.

К проблеме сейчас.

Ошибка я получаю в апача сруба:

No module named django.core.handlers.wsgi 

Таким образом, кажется, что он не читает мои virtualenvs правильно.

Это мой WSGI сценарий:

import os 
import sys 
import site 
site.addsitedir('/home/user/.virtualenvs/myapp/lib/python2.7/site-packages') 

path = '/home/user/django/myapp/myapp' 
if path not in sys.path: 
    sys.path.append(path) 

sys.stdout = sys.stderr 
print sys.path 

os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings' 

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

И это журнал ошибок от апача. Я распечатал sys.path, чтобы вы могли видеть, как это выглядит.

[Tue Jun 05 14:54:07 2012] [error] ['/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/PIL', '/usr/lib/python2.7/site-packages/setuptools-0.6c11.egg-info', '/home/user/.virtualenvs/myapp/lib/python2.7/site-packages', '/home/user/django/myapp/myapp'] 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] mod_wsgi (pid=1039): Target WSGI script '/srv/http/wsgi_scripts/myapp.wsgi' cannot be loaded as Python module. 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] mod_wsgi (pid=1039): Exception occurred processing WSGI script '/srv/http/wsgi_scripts/myapp.wsgi'. 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] Traceback (most recent call last): 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] File "/srv/http/wsgi_scripts/myapp.wsgi", line 17, in <module> 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1]  import django.core.handlers.wsgi 
[Tue Jun 05 14:54:07 2012] [error] [client 127.0.0.1] ImportError: No module named django.core.handlers.wsgi 

Если у вас есть предложения или у вас уже был подобный вопрос, пожалуйста, помогите.

Благодаря

ответ

2

Для тех, у кого может быть такая же проблема, как у меня. Вам нужно проверить права всего пути на каталог, в котором хранится ваш virtualenv.

Я проверил домашний каталог и изменил привилегии, но забыл изменить привилегии в свой каталог пользователя и исправил эту вещь.

Надеюсь, это поможет.

+0

Какие привилегии вы использовали? 775 для всех каталогов? – Egel

3

Вы еще не добавили фактический virtualenv каталог сайтов-пакеты к соединению. Попытайтесь:

import site 
site.addsitedir('/path/to/your/virtualenv/lib/python2.X/site-packages') 
# Where `X` is the specific version 
+0

На самом деле я сделал, я просто отформатировал вопрос неправильно, поэтому он показан как обычное предложение, я его изменю, извините – iblazevic

Смежные вопросы