Создайте два файла конфигурации в папке / etc / apache2 / sites-available. Дайте им правильные логические имена в соответствии с вашими сайтами (например, example1.com, example12.com и т. Д.). Используйте команду a2ensite, чтобы включить их оба и перезапустить сервер apache.
Каждый ваш конфигурационный файл должен выглядеть примерно так:
<Virtualhost *:8032>
ServerName localhost
ServerAdmin webmaster@example.com
DocumentRoot "/usr/local/www/djcode/test"
<Directory "/usr/local/www/djcode/test">
Options +ExecCGI
Order allow,deny
Allow from all
</Directory>
Alias /site_media "/usr/local/www/djcode/test/site_media/"
Alias /media "/usr/local/www/djcode/test/site_media/media/"
WSGIDaemonProcess test user=www group=www processes=2 threads=5
WSGIProcessGroup test
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /test.wsgi/$1 [QSA,L]
</Virtualhost *:8032>
Вам также необходимо добавить некоторые директивы для обслуживания статического содержимого. Обслуживание статического контента из apache связано с дополнительными затратами, поэтому было бы лучше, если бы вы его обслуживали с помощью какого-либо облегченного веб-сервера, такого как Lighttpd или Nginx, и подключались к apache с помощью обратного прокси-сервера для обслуживания контента на основе django. Вот учебник по использованию NginX
Поскольку вы используете mod_wsgi, вы можете запускать каждый сайт от имени другого пользователя, так что два из них могут не иметь доступа к данным друг друга. Это полезно, если два сайта принадлежат разным заинтересованным сторонам.