Мне интересно, что было бы наилучшим подходом к размещению нескольких приложений Rails, где каждое приложение имеет свой набор гемов и, возможно, может использовать другую версию Ruby. Я думаю о запуске RVM для управления различными наборами гемов для каждого приложения и о запуске каждого приложения в отдельном автономном экземпляре пассажира.
Единственное, что меня беспокоит в связи с этим подходом, - это объем памяти из-за наличия нескольких работающих автономных серверов по сравнению с тем, что их все обслуживает один. В любом случае, я новичок в этом деле, поэтому я открыт для предложений о том, что было бы наилучшей практикой для такого рода настройки.
Я тоже читал это Сообщение блога и мне было интересно, что люди думают об этом. Это звучит как разумная установка и говорит моему ОКР о сохранении чистоты и разделения приложений.
Это довольно просто, так как Passenger 3.2 будет поддерживать различные версии Ruby из коробки. Только вот 3.2 еще не вышла. Просто убедитесь, что вы правильно установили passenger_ruby
а RVM / Capistrano сделает все остальное.
Подробнее читайте в этой статье: http://ariejan.net/2012/05/11/running-a-different-ruby-with-passenger-3-2-and-rvm
Обратите внимание, что я делать запустить 3.2 на http://ariejan.net :-)
Я автор упомянутой статьи.
Использование отдельных экземпляров автономного пассажира или единорога - хорошая идея, они имеют низкие накладные расходы на память и обеспечивают хорошее разделение.
В лучшем случае вы должны запускать каждое приложение как отдельный пользователь, что предотвратит доступ к данным других приложений.
Если я правильно помню, один экземпляр nginx (он используется в автономном режиме для пассажиров) использует около 3 МБ оперативной памяти - на мой взгляд, это очень мало.
Появилась новая опция - пассажирская 3.2, она находится в стадии бета-тестирования, но должна позволять запускать разные рубины с одного сервера.