Развертывание рельсов: что выбрать? - PullRequest
4 голосов
/ 06 октября 2011

Я только что закончил Rails-приложение, которое теперь хочу загрузить в Интернет.Это переписывание существующего приложения, и я ожидаю около 4 000 посетителей в день с пиками до 10 000 в день.

  • Я достаточно хорошо знаю Windows (хотя я не использовал сервер Windows, хотя).
  • Я почти ничего не знаю об Ubuntu или Linux
  • Я хочу, чтобы все было легко и просто, и я не хочу тратить слишком много времени на "взлом сервера".Я хочу тратить свое время на разработку, а не на поддержание.
  • Мой бюджет составляет максимум 50 $ в месяц для этого проекта.
  • База данных для проекта довольно статична (вряд ли какой-либо созданный пользователемdata)
  • В настоящее время я использую WAMP & Mysql с Rails 3.0.3 в своей локальной установке, и в большинстве случаев он работает нормально, но также часто выходит из строя.

ЯРассмотрим три способа сделать это:

  1. Использование Heroku

    • Кажется довольно простым (хотя я еще не заставил его работать)
    • Также кажется дорогим, если мне нужно больше узлов.Сколько узлов мне нужно ожидать?
  2. Использование VPS-сервера Windows

    • Я знаю Windows, и ее было бы довольно легко установить и установить.настроить его
    • Мой друг (который в большей степени является экспертом по Rails) говорит, что Windows и Rails не подходят друг другу.
    • Мои сбои в локальной среде заставляют меня нервничать по поводу этой опции
  3. Использование сервера VPS Ubuntu

    • Кажется, чтосамый дешевый вариант (с точки зрения предоплаты)
    • Кажется, самый стабильный вариант
    • Я не знаю Ubuntu, и я не слишком хочу изучать совершенно новую ОС, чтобыустановите это.

Не могли бы вы помочь мне с указаниями?Действительно ли сервер Windows действительно плох для Rails?

Ответы [ 5 ]

5 голосов
/ 06 октября 2011

Честно говоря, я думаю, что Windows будет худшим выбором для вас. Проблема с Windows и Rails заключается в том, что большинство гемов никогда не предназначены для работы с Windows, или версии, которые работают с Windows, сильно устарели.

Использование Ubuntu VPS - очень жизнеспособный вариант, который будет вашим самым дешевым и наиболее стабильным вариантом. Мы используем сервисы Amazon S3 для запуска большинства наших веб-серверов в облаке. Как вы сказали, для его обслуживания вам необходимо знать и понимать операционную систему * nix.

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

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

4 голосов
/ 06 октября 2011

Я бы посоветовал против сервера Windows.Исходя из моего опыта, основные реализации ruby ​​не оптимизированы для окон - и работают медленно.Ради ваших конечных пользователей стек рельсов в Linux может обеспечить значительный прирост производительности (или в равной степени уменьшить бюджет вашего сервера).

При использовании связки и рельсов 3 объем работ по обслуживанию на сервере должен составлятьминимален.Войти, развернуть, выйти.(посмотрите на такие инструменты, как capistrano, чтобы сделать это еще проще).

3 голосов
/ 07 октября 2011

Heroku восхитительно прост в развертывании. Если загрузка вашей базы данных невелика, вы можете просто использовать их общую базу данных PostgreSQL объемом 20 ГБ ($ 15 / мес). 2 динамо обойдутся вам (35 долларов в месяц), так что там ваши 50 долларов. 2 должно быть хорошо для обработки этого трафика, и вы всегда можете масштабировать в течение большого времени трафика. Определенно рекомендую добавить дополнение memcached и использовать его также. Установите дополнение New Relic, и вы сможете соответствующим образом анализировать трафик / нагрузку и масштабироваться.

3 голосов
/ 07 октября 2011

На данный момент самым простым производством, которое я обнаружил, является сервер Ubuntu.

В Windows Rails работает медленнее, и гораздо проще настроить что-то вроде пассажира на * nix.Если нужна помощь, доступны другие учебники.

Моими самыми быстрыми настройками были Ubuntu Server и nginx.

PS.Rails 3.0 вышел за пределы 3.0.3, так что подумайте о тестировании последней версии 8)

0 голосов
/ 02 июня 2014

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

Я работал с Heroku, но есть некоторые сложности с записью файлов в экземпляр Heroku, поскольку Heroku не разрешает локальную запись файлов. При работе с Heroku люди обычно переносят операции записи, такие как выгрузка файлов в экземпляр Amazon S3 или Fog. В общем, Heroku действительно прост в развертывании, но когда приходит конфигурация ... она может быть немного сложнее, чем VPS.

Лучшее решение для меня - использовать VPS с использованием Ubuntu. Было сделано много документации по этому вопросу, и у вас есть больше вариантов с вашими конфигурациями. На самом деле, это не так сильно отличается от установки Ruby on Rails на локальной машине разработки Ubuntu. Если вам нужны советы по развертыванию в Ubuntu, я только недавно написал руководство о том, как это сделать.

http://www.francisbautista.com/deploying-ruby-on-rails-apps-on-a-vps-nginx-passenger-capistrano/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...