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

Как настроить веб-сайт Django для работы с Apache 2.4 VirtualHosts?

Недавно я начал разрабатывать веб-сайты Django и хочу развернуть их на CentOS VPS с mod_wsgi и Apache.

Я последовал за это руководство и он работает отлично, но я хотел бы, чтобы одновременно работало несколько веб-сайтов Django, поэтому я попытался создать несколько виртуальных хостов внутри правильного файла конфигурации, и возникла проблема.

<VirtualHost the.ip.of.server:80>
    ErrorLog /root/praxis.error.log

    Alias /static /root/Praxis/static
    <Directory /root/Praxis/static>
        Require all granted
    </Directory>

    <Directory /root/Praxis/Praxis>
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess Praxis python-path=/root/Praxis:/root/Env/Praxis/lib/python2.7/site-packages
    WSGIProcessGroup Praxis
    WSGIScriptAlias /praxis /root/Praxis/Praxis/wsgi.py
</VirtualHost>

Если я удалю открывающий и закрывающий теги VirtualHost, сайт будет работать должным образом, но если я сохраню эти теги, я буду постоянно получать ошибку 404.

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

Я также пытался переключаться между виртуальным хостингом на основе IP и виртуальным хостингом на основе имен, но ничего не изменилось.

Здесь также следует wsgi.py

wsgi.py

import os

from django.core.wsgi import get_wsgi_application

sys.path.append('/root/Praxis/Praxis')

os.environ['PYTHON_EGG_CACHE'] = '/root/Praxis/.python-egg'
os.environ['DJANGO_SETTINGS_MODULE'] = 'Praxis.settings'

application = get_wsgi_application()

В моем httpd.conf файл у меня также есть:

Listen 80

ServerName ip.to.the.server #without port specified

и

#NameVirtualHost *:80 <-- THIS IS A COMMENT RIGHT NOW

Заранее всем спасибо за старания, надеюсь, кто-нибудь сможет мне помочь, я так борюсь с этим! Спасибо вам, ребята.