Назад | Перейти на главную страницу

Размещение сайта Django с помощью Apache / Ubuntu

У меня возникают проблемы с развертыванием моего первого приложения Django на ubuntu / Apache. Я следил за руководствами на djangoproject.com и рыскал по Интернету в поисках ответов, и я застрял. У меня есть все необходимое, но когда я пытаюсь посетить свой сайт (twilightinternal.com), я получаю следующую ошибку:

ImportError: Could not import settings 'twilight_boutique.settings' (Is it on sys.path? Does it have syntax errors?): No module named twilight_boutique.settings

Мой код django находится в папке / root / django_projects / twilight_boutique

У меня есть следующая информация в моих сайтах-available / twilightinternal:

<VirtualHost *>
        ServerAdmin shawn@coldfeetstudios.com
        ServerName www.twilightinternal.com
        ServerAlias twilightinternal.com

        DirectoryIndex index.html
        DocumentRoot /var/www/twilightinternal/

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined

        <Location "/">
                SetHandler python-program
                PythonHandler django.core.handlers.modpython
                SetEnv DJANGO_SETTINGS_MODULE twilight_boutique.settings
                PythonOption django.root /root/django_projects/twilight_boutique
                PythonDebug Off
                PythonPath "['/root/django_projects', '/var/www'] + sys.path"
        </Location>

</VirtualHost>   

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

Во-первых, вы должны использовать mod_wsgi, если можете, или FastCGI в качестве запасного варианта.

Ваши настройки Apache выглядят правильно, возможно, это ваш settings.py. Скорее всего, это проблема с разрешениями. Есть ли конкретная причина, по которой вы запускаете его из / root? Обычно apache не запускается с правами root и не может читать какие-либо файлы в / root. Попробуйте переместить проект в другое место.

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

Сервер разработки работает правильно?

cd /root/django_projects/twilight_boutique
python manage.py runserver

Если это не удается, в вашем файле настроек есть синтаксическая ошибка.

Вы также можете попробовать использовать оболочку python, чтобы попытаться отладить это. Запустите python из любого каталога и запустите следующий код:

import sys
sys.path.insert(0, '/root/django_projects')
import twilight_boutique.settings