Предполагая, что у вас есть отдельное приложение для каждого проекта Django, я обычно сделать что-то вроде
www.mysite.com/app1
www.mysite.com/app2
www.mysite.com/app3
или использовать поддомены
www.mysite.com -> main application
app2.mysite.com
app3.mysite.com
Это также предполагая, что у вас есть настройки virtualenv и имеют папка site
, содержащая ваш исходный код, и ваши файлы приложений находятся в пределах site/app
.
Ее легко создать VirtualHost в sites-enabled
папку конфигурации вашего сервера Apache, содержащей в части
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName www.mysite.com
ServerAlias mysite.com
Alias /static/ /path/to/virtualenv/site/app/static/
<Directory /path/to/virtualenv/site/app/static>
Order deny,allow
Allow from all
</Directory>
<Directory /path/to/virtualenv/site/ >
Order deny,allow
Allow from all
</Directory>
WSGIScriptAlias//path/to/virtualenv/site/django.wsgi
WSGIDaemonProcess mysite.com user=www-data group=www-data threads=2
WSGIProcessGroup mysite.com
ErrorLog /var/log/apache2/mysite.com.error.log
CustomLog /var/log/apache2/mysite.com.access.log combined
</VirtualHost>
Вам нужно иметь Python WSGI сценарий по пути, указанному на WSGIScriptAlias
, а также Apache mod_wsgi
загружен.
Лично мне легче настроить субдомены, чем первая группа URL-адресов, перечисленных мной.
Вам не нужно перезагружать Императора, когда вы добавляете (или удаляете) новые файлы конфигурации. Это сломает половину забавных вещей, которые он может сделать. Вначале вы запускаете Императора на ботинке, и его больше не трогают. – roberto