На множестве наших серверов у нас есть целых 10 различных приложений django, каждый из которых работает со своим собственным gunicorn, в своем собственном virtualenv.
Мы используем одну всю систему процессов супервизора, чтобы контролировать их всех.
У нас также есть один процесс nginx, который обрабатывает весь трафик (обратный прокси-сервер, обслуживание статического носителя и т. Д.) Для всех приложений.
Мы решили использовать этот подход, потому что он кажется наиболее разумным и простым в настройке и управлении каждым приложением самостоятельно. Использование супервизора для запуска / остановки / перезагрузки каждого приложения по отдельности дает нам более точный контроль над тем, что мы хотим сделать. Это также позволяет легко добавлять больше приложений и не затрагивать те, которые уже есть на компьютере.
Это также позволяет нам запускать каждое приложение от имени другого пользователя, чтобы мы лучше контролировали, что делают эти процессы и к чему у них есть доступ, что хорошо, если вам нужно беспокоиться о безопасности. Если это все ваши собственные приложения на вашем собственном сервере под вашим столом, то это может не быть проблемой для вас.
Если вы запустите одну версию gunicorn для всего, и что-нибудь случится с этим процессом gunicorn, то это повлияет на все ваши приложения, что не идеально. Это также ограничивает то, что вы можете делать, если вы хотите запускать eventlet в одном приложении, gevent в другом и синхронизировать в другом, проще, если они все работают по отдельности. Также некоторым приложениям может потребоваться больше процессов, чем другим, и это легче настроить, если они разделены.
Если вы применяете подход apache, это может снизить общий объем ресурсов, поскольку вам не нужно будет запускать несколько версий одних и тех же процессов для каждого приложения. Если вы ограничены в ресурсах, это может оказаться более значительным для вас, но в настоящее время память и процессор настолько дешевы, что это не проблема.
Многое из этого зависит от того, сколько трафика будет получать каждое из этих приложений. Если вы вообще не получаете трафик, делайте то, что вам проще всего настроить и обслуживать. Если вы получаете тонну трафика или планируете получить тонну, то то, что у вас есть сейчас, вероятно, изменится, когда вы перерастете свои текущие настройки.