LINUX.ORG.RU

Разворачивание django на сервере.

 ,


0

1

Кто объяснит новичку, в чем может быть проблема? Пытаюсь настроить django + apache + mod_wsgi. Настраиваю все по доке.

конфиг апача:

WSGIPythonPath /var/www/djproject
WSGIPythonPath /var/www/djproject/lib/python2.7/site-packages



<VirtualHost my_domain.ru:80>

WSGIScriptAlias / /var/www/djproject/djproject/wsgi.py

        AliasMatch ^/([^/]*\.css) /var/www/djproject/djproject/static/css/$1
        Alias /media/ /var/www/djproject/djproject/media/
        Alias /static/ /var/www/djproject/djproject/static/

        <Directory /var/www/djproject/djproject/static>
           Order deny,allow
           Allow from all
        </Directory>

        <Directory /var/www/djproject/djproject/media>
           Order deny,allow
           Allow from all
        </Directory>


        <Directory /var/www/djproject/djproject/>
                <Files wsgi.py>
                        Order deny,allow
                        Require all granted
                </Files>
        </Directory>

</VirtualHost>

wsgi.py:

import os, sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'djproject.settings'
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

Перезапускаю апач - Internal Server Error (500)

Смотрю в лог:

ImportError: Could not import settings 'djproject.settings' (Is it on sys.path? Is there an import error in the settings file?): No module named djproject.settings

Почему не находится settings.py? Права у пользователя есть, пробовал даже 777 ставить - ничего!


Ответ на: комментарий от Sektor

Тогда может быть WSGIPythonPath тоже надо в блок виртуалхоста переместить?

У меня вот так вот всё работает нормально:

WSGIDaemonProcess addressbook python-path=/home/addressbook:/usr/lib/python2.5/site-packages
WSGIProcessGroup addressbook

WSGIScriptAlias / /home/addressbook/python/wsgi.py

<Directory /home/addressbook/python>
<Files wsgi.py>
Order allow,deny
Allow from all
</Files>
</Directory>

И всё это внутри <VirtualHost *:80>

lampslave ★★ ()
Последнее исправление: lampslave (всего исправлений: 1)
Ответ на: комментарий от lampslave

Да что за бубуйня! Не работает!

mod_wsgi (pid=1327): Exception occurred processing WSGI script '/var/www/djproject/djproject/wsgi.py'.

Sektor ()

WSGIPythonPath /var/www/djproject

Попробуй продублировать с WSGIPythonPath /var/www/djproject/djproject

x3al ★★★★★ ()
Ответ на: комментарий от anonymous

Кстати, почему не uwsgi + nginx? Бенчмарки показывают примерное равенство. wsgi (имхо) чуть универсальнее и им проще пользоваться снаружи джанги.

x3al ★★★★★ ()
Ответ на: комментарий от anonymous

Хз, не lighttpd, но говорят что его возможностей банально не хватает для более-менее нагруженного продакшена.

Siado ★★★★★ ()

Апач не нужен. Бери nginx и uwsgi/gunicorn.

zz ★★★★ ()
Ответ на: комментарий от Siado

Интересно это какие такие возможности требуются для нагруженного продакшена? Вроде lighttpd вполне быстр (где-то даже видел результаты теста, показывающие что на статических файлах он даже чуть быстрее nginx).

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.