Итак, я начну с объяснения своей цели. У меня есть несколько доменов, которые я маршрутизирую на простой IP-адрес на моем сервере. Я хочу, чтобы Apache направил каждый домен в соответствующий wsgi.py
файл в своем проекте Django. Похоже, официальные документы написаны для обработки одного домена на сервер. Вот они, если вы хотите их проверить Документы. Я также хотел бы отметить, что я действительно не хочу использовать фреймворк сайтов Django, потому что он, похоже, не предназначен для того, что мне нужно.
Итак, я покажу вам, что я пробовал. Я поместил это внутри sites-available/000-default.conf
файл.
<VirtualHost *:80>
ServerName www.foo.com
ServerAlias foo.com
Alias /media/ /path/to/foo.com/media/
Alias /static/ /path/to/foo.com/static/
<Directory /path/to/foo.com/static>
Require all granted
</Directory>
<Directory /path/to/foo.com/media>
Require all granted
</Directory>
WSGIScriptAlias / /path/to/foo.com/foo/wsgi.py
<Directory /path/to/foo.com/foo>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName www.foo2.com
ServerAlias foo2.com
Alias /media/ /path/to/foo2.com/media/
Alias /static/ /path/to/foo2.com/static/
<Directory /path/to/foo2.com/static>
Require all granted
</Directory>
<Directory /path/to/foo2.com/media>
Require all granted
</Directory>
WSGIScriptAlias / /path/to/foo2.com/foo/wsgi.py
<Directory /path/to/foo2.com/foo2>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Как ни странно, ни один сайт не загружается. Я просто получаю, что Apache просто обслуживает мою пустую страницу индекса файлов. Обратите внимание, что у меня нет WSGIPythonPath /path/to/foo2.com/
включены. Я получаю сообщение об ошибке при включении. И я не совсем уверен, что это нужно.
Вещи iv'e тоже сделали.
apache2.conf
файл.wsgi.py
файл для обработки нескольких сайтов./etc/hosts
файл.Так что это в основном все. Я поискал по всему Интернету и не смог найти никаких актуальных решений. Если вы знаете, как решить эту проблему, сообщите мне. Если возможно, постарайтесь включить код в свои ответы.
PS. Я запускаю это в Ubuntu Server 14.04 с python 2.7.
Не редактировать 000-default.conf
. Правильный способ создания сайта в Ubuntu - создать новый файл в каталоге. /etc/apache2/sites-available
каталог, содержащий все, что специально для этого сайта. Для ваших двух сайтов вам нужно создать два файла, foo.com
и foo2.com
. Разместите соответствующие <virtualhost *:80> ... </virtualhost>
разделы в соответствующем файле.
Затем включите каждый сайт с помощью команды a2ensite
, который создает на него символическую ссылку в /etc/apache2/sites-enabled
:
# a2ensite foo.com
# a2ensite foo2.com
Я не могу обнаружить никаких проблем в вашей настройке, но подозреваю, что вы не включили модуль wsgi:
# a2enmod wsgi