2008-11-11 3 views
31

Я использовал прямой Mongrel, я использовал Mongrel clusters за Apache, я посмотрел на Thin, и я очень заинтригован Пассажиром. Я тоже посмотрел на Nginx. Я посмотрел на МРТ, Ruby Enterprise Edition, Rubinius и JRuby. Есть много вариантов, каждый из которых утверждает, что это новый святой Грааль.Рекомендации по развертыванию новых Rails в Linux?

Что является лучшим вариантом для совершенно нового, полностью современного развертывания? Единственными предположениями являются следующие:

  • Приложение основано на Rails 2.2. (Я знаю, что версия 2.2 еще не полностью выпущена, но и это не развертывание.)
  • Сервер основан на Linux. Вероятно, Ubuntu Hardy, но действительно, что лучше всего работает в этом случае.
  • Рельсы должны быть полностью функциональными и, возможно, разговаривать с базой данных MySQL.
  • Все остальное является предметом переговоров.

Учитывая эти особенно широкие ограничения, какая комбинация программного обеспечения даст наилучший результат с точки зрения параллелизма и низких накладных расходов?

Я склоняюсь к Apache с «рабочим» mpm и пассажиром + Ruby Enterprise Edition, просто потому, что он предлагает немедленную стабильность и простоту настройки и обслуживания.

Возможно, мне будет лучше с другим вариантом?

ответ

16

Я перешел из Mongrel Cluster to Passenger две недели назад (Debian Linux Server). Я не оглядывался на секунду. Пассажир, вероятно, самый простой способ запустить ваш новый сервер. Производительность и надежность также являются разумными.

Лично мне нравится тратить время на новые проекты Rails, а не на проблемы с развертыванием. Пассажир позволяет мне это делать. Тем не менее, Mongrel или что-то еще может быть предпочтительнее, если у вас есть какие-то особые требования (не распространяется на большинство продуктов).

+1

+1 для пассажиров - очень простое развертывание так же быстро (иногда быстрее для моего приложения), как раньше был Монгрель. Замечательно! – 2008-11-12 13:59:54

0

Я размещаю свои новые приложения с Apache2 и Passenger на Ubuntu Hardy. Кажется, это самый простой и лучший вариант для большинства сценариев. Я только что присоединился к Slicehost.com для этой цели. Они, кажется, получают хорошие отзывы и имеют самые конкурентоспособные цены на первоклассные хосты.

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

Что вы не упомянули, насколько велико и популярно ваше приложение. Эти критерии могут повлиять на процесс принятия решений.

1

Посмотрите на Litespeed. Вы можете получить бесплатную версию, которая работает на 1 процессор или заплатить за получение нескольких процессоров. Это немного дороже, но он твердый и отлично управляет рельсами (т. Е. Использует меньше памяти и меньше затрат на мониторинг и настройку). Я запускаю огромное количество приложений на нем, и он не промахивается.

1

Мы также переключились с Mongrel на mod_passenger и обнаружили, что стабильность значительно улучшена благодаря этим усилиям, необходимым для настройки и обслуживания. Хороший выбор.

4

Мы использовали старый стандартный nginx -> mongrel stack в течение последних 18 месяцев, и хотя это было тривиально, чтобы настроить его в первый раз, он доказал свою гибкость и имел дело с некоторыми очень высокими сайтами трафика для нас.В частности, Nginx был абсолютно прочным и быстрым, и, если вы можете получить кеширование страницы приложения, вы можете справиться с множеством запросов.

Застревание ублюдков было проблемой, поэтому мы используем monit, чтобы убивать их, когда они плохо себя ведут. Опять же, это было не совсем тривиально, но мы использовали тот же процесс на многих сайтах на этом этапе.

Мы еще не играли с пассажиром, поэтому, возможно, это проще и стабильнее, я буду откладывать на других ответчиков на этом, все, что я могу сказать, это то, что нет никакой причины, вы не можете построить сплошной стек с nginx и mongrel.

0

Capistrano + Deprec для фактической настройки моего стека на Ubuntu и физического управления развертыванием.

Nginx, проксинг для Mongrel clusers для архитектуры сервера. Это не новейшая техника с кровотечением, но она работает хорошо, она хорошо документирована, и она очень и очень высокая, даже при работе на небольших VPS. Предполагая, что вы не устроили приложение, вы можете Slashdot 128 МБ Slicehost VPS, и он просто продолжает возвращаться для большего.

Сказав это, в первый раз было найдено лотов, пока я не понял, как работает Nginx. После этого его удивительный - как маленький Апачелет с небольшим русским акцентом.

10

Сегодня утром Dhh переговоры об этой самой теме на своем блоге:

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

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

http://www.loudthinking.com/posts/30-myth-1-rails-is-hard-to-deploy

Tobias L ü ТКЕ на тему переключения Shopify (млн запросов/день) Пассажиру:

Все это означает, что общий объем памяти, который используется Shopify при нормальных операциях переходила от среднего значения 9 ГБ в среднем до 5 ГБ. Мы равномерно распределяли сбережения между более процессами Shopify и большим объемом memcached, что заставило наше среднее время отклика с 210 мс до 130 мс, в то время как трафик вырос на 30% за последние несколько месяцев.

В заключение: Я не вижу причин для выбора другой стратегии развертывания на данном этапе. Его простой, полный, быстрый и хорошо документированный.

http://blog.leetsoft.com/2008/11/15/passenger

2

Мы перешли Фрон Nginx + Mongrel Пассажиру.

Я полностью верю, что Пассажир станет новым стандартом для рельсов, несмотря на то, что кластер NginX и Mongrel одобряется некоторыми очень умными людьми.Недавние достижения Пассажира действительно продвинули его вперед.

Наша текущая конфигурация что-то вроде этого:

Веб-серверы

  • Ubuntu 8.04 LTS
  • Phusion Пассажир на Apache2
  • МРТ Рубин 1.8.6 и друзья (форма склонный)
  • Ruby Gems 1.3.0 (установленный из источника)

серверы баз данных

  • Centos 5
  • MySQL Cluster (мы просто перешли на это, но это перспективно)

После стандартизированы на точном дистрибутиве мы были способный писать рецепты Capitrano для помощи в развертывании (небольшие изменения в конфигурации были источником МНОГИХ отключений службы) и в противном случае упрощают нашу жизнь.

1

Еще немного золота:

Джош Пика Slicehost gem полна Capistrano рецептов, которые гораздо проще и гораздо более организованной, чем Аморт. Ничего особенного, особенно для Slicehost, не существует.

Смежные вопросы