Мой проект django состоит из множества приложений, библиотек и промежуточного программного обеспечения. Я хотел бы запускать различные конфигурации этого проекта на разных виртуальных хостах (из-за различных вариантов использования и потребностей, например: один для пользователей, один для M2M api и т. Д.). Из this вопроса я понимаю, что это не должно быть проблемой для размещения этого, до тех пор, как у меня есть отдельный WSGI бутстраповских файлы, но я не понимаю, почему следующая строка:Хостинг нескольких виртуальных экземпляров VirtualHost
os.environ['DJANGO_SETTINGS_MODULE'] = 'site1.settings'
не вызывает ошибку с одновременное развертывание. Если у меня есть несколько виртуальных хостов с их собственными конфигурационными файлами wsgi, все из которых устанавливают системную переменную DJANGO_SETTINGS_MODULE, не переписывают ли они друг друга?
Установлен ли этот параметр «точно в срок» по каждому запросу? В этом случае существует ли более эффективный способ работы с такой настройкой нескольких хостов?
Спасибо,
Да, по умолчанию каждое приложение WSGI получает собственный суб-интерпретатор в рамках процесса. Изоляция не всегда идеальна, но обычно работает. Для лучшей изоляции лучше использовать отдельную группу процессов демона mod_wsgi для каждого приложения WSGI, используя WSGIDaemonProcess/WSGIProcessGroup в комбинации. –