Это mod_rails или Phusion Passenger, наконец, ответ на Ruby on Rails Deployment?

Я прочитал из некоторых книг, что Phusion Passenger является ответом на простое развертывание Ruby on Rails. Но мой друг сказал, что сначала был Apache + куча монголов, а затем lighttpd, а затем nginx, а теперь и Passenger, и кажется бесконечным...

он также сказал, что использует dreamhost, который использует Пассажира, и иногда он видит, что его запрос не обрабатывается.

Итак, мне интересно, является ли Passenger окончательным ответом на развертывание RoR? вы используете его и использовали команду "ab", чтобы проверить, хорошо ли работает сайт?

Ответы

Ответ 1

короткий ответ: да.

длинный ответ: yeeeeeeeeeeeeesssssssssssssssss.

Всю серьезность, Phusion Passenger и Ruby Enterprise Edition вынесли в значительной степени всю боль при перемещении приложения Rails в производство. Предыдущие подходы, в том числе запуск набора Mongrels, требовали много настроек, связанных с запуском, остановкой и повторным использованием процессов прослушивания, которые Passenger обрабатывает прозрачно или с помощью простых параметров конфигурации Apache (или nginx). И дополнительный сборщик мусора REE означает, что отключение нового слушателя использует MUCH меньше памяти и быстрее загружается (в режиме "мягкого" нереста "Пассажир" ).

Изменить: @srboisvert делает очень хорошую точку; Пассажир не является окончательным ответом на развертывание RoR, но пока это мой любимый далеко. Однажды, после решения многих трудных инженерных задач, основной поток Ruby, вероятно, переместится с хостинга RoR с использованием модели с несколькими процессами в модель с одним процессом, что сделает управление еще проще, чем с помощью Passenger.

Ответ 2

Это лучшее решение. Я начал развертывание с FCGI, и это было больно. Потом пришел дворняжка, и было лучше. Затем пришел mod_rails, и это было лучше.

Кроме того, большое количество интересных приложений переносится на mod_rails, в том числе на 37signals, поэтому вы знаете это хорошо.

Я просто закончу цитатой из DHH:

Однокомпонентное решение с Phusion Пассажир

Как только вы закончите невероятно простая установка, вы получаете Apache который действует как веб-сервер, загружает балансировщик, сервер приложений и наблюдатель процесса. Вы просто заглядываете ваше приложение и прикосновение tmp/restart.txt, если вы хотите отскакивать и бам, вы встаете и работает.

Но как-то сообщение Пассажира был немного медленным, чтобы погрузиться. Там уже много больших сайтов убегая от него. Включая Shopify, MTV, Geni, Yammer, и мы будем двигаться через первый Ta-da List в ближайшее время, тогда мы надеемся, что остальные 37 Suite быстро после этого.

Итак, пока есть причины для запустить собственную настройку нескольких уровней вручную сконфигурированных частей, просто как есть люди, уклоняющиеся от mod_php для своих подробностей, я думаю мы, наконец, остановились на дефолте ответ. Что-то, что не требует вы действительно думаете о первом развертывание вашего приложения Rails. Что-то, что только что получается из коробка. Даже если это поле является общим хозяйничать!

В заключение, Rails уже не тяжело развернуть. Phusion Passenger сделал это смешно легко.

(через)

Ответ 3

Да, это самое простое, быстрое и эффективное решение. После того, как в последних выпусках были решены многие проблемы с драгоценными камнями, такими как soap4r и т.д., Теперь Passenger является ответом на вопросы развертывания.

Мы запускаем Apache/mod_rails в сбалансированной среде с HAProxy перед двумя серверами. Он намного надежнее нашей предыдущей настройки с использованием Mongrel/Aapache.

Очень легко взять контроль над

  • количество процессов Пассажира, запущенных в Apache
  • количество процессов Пассажира, выполняемых для каждого приложения
  • и все это без боли при настройке нескольких конфигурационных файлов, таких как mod_proxy, Apache.
  • настройка виртуального хоста и добавление 3 строк в конфигурацию Apache в основном достаточно, чтобы запустить его

Matt

Ответ 4

Итоговый ответ? Ничто не является окончательным ответом.

Я бы сказал, что пассажир - это текущий ответ.

Ответ 5

Да. Я запускал Nginx/Passenger перед Apache для того, что все еще нуждается в PHP, так как они выпустили 2.2.0 несколько недель назад. Особенно с Ruby Enterprise Edition, он подходит к тому, что я бы назвал "идеальным".

Ответ 6

Я предполагаю, что теперь люди будут придерживаться mod_rails в течение многих лет. Модуль действительно хорош. Конфигурация мертва проста. Трудно будет заменить его лучшим решением. Подобно mod_php. Единственный ключевой компонент, который отсутствует: порт Windows.

Ответ 7

В некоторых ситуациях (предприятие и т.д.) JVM также может быть хорошим вариантом.