Назад | Перейти на главную страницу

Лучшая практика: виртуальная машина с / несколькими автономными серверами Nginx-Passenger, запускающими одно приложение на сервер

Мне интересно, что было бы наилучшим подходом к размещению нескольких приложений 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, она находится в стадии бета-тестирования, но должна позволять запускать разные рубины с одного сервера.