Настройка dev сервера для Ruby - PullRequest
6 голосов
/ 21 января 2009

Я хочу сделать сервер разработки для Ruby. (Я сделал это для IIS и настройки LAMP, но ни в коем случае не разбираюсь в этом.) Что мне понадобится, кроме реального сервера (который у меня уже есть)? А также какие-либо проблемы безопасности? Я знаю, что мог бы разрабатывать локально на своей машине, но не хочу этого делать.

1 Ответ

7 голосов
/ 21 января 2009

Прежде всего при разработке ruby, первое, что нужно знать, это то, что она лучше всего работает в среде, подобной Unix, например, Mac OS X, Linux, Solaris, BSD и т. Д. *

Библиотеки Ruby распространяются и упаковываются как гемы. Итак, вы захотите установить ruby ​​и установить rubygems. Затем вы используете команду gem для установки библиотек ruby.

Я собираюсь предположить, что вы говорите о веб-разработке с использованием ruby ​​на rails 2.x или Merb 1.x. Две платформы объединяются в следующем выпуске, и он будет называться Rails 3.0. Таким образом, ответ здесь работает для любого из них. Я собираюсь сказать Rails, но я имею в виду Rails / Merb.

Разработка Rails выполняется локально на вашей машине. Так что вам нужно будет установить ruby ​​и все необходимые вам библиотеки локально. Я знаю, что многие люди, использующие Windows, в конечном итоге используют виртуализацию и запускают среду linux для рельсов в своих окнах рабочего стола.

В разработке большинство людей используют сервер приложений, Mongrel. В производстве действующим стандартом является использование Apache 2 и Passenger.

С рельсами вы захотите использовать контроль источников. Большинство людей сегодня используют git в сообществе rails, но можно использовать subversion, performance или многие другие SCM. Чтобы передать ваше приложение из системы управления версиями в ваши промежуточные и производственные системы, сообщество rails создало приложение под названием Capistrano. Он обрабатывает развертывания. Вы настраиваете информацию о вашем сервере, ssh-ключи, определяете доступ, а затем вы можете освободить свое приложение с помощью одной команды.

cap deploy

Это довольно хорошая система. Несколько лет назад, когда я работал на odeo.com, у нас были люди, использующие windows, linux и mac для разработки с производственными развертываниями на debian linux. Это не было преднамеренным, чтобы наше приложение было кроссплатформенным, оно просто работало таким образом, потому что у нас были люди, которые хотели добавить к нему, включая дизайнеров и типы бизнеса, которые были на окнах.

Я настоятельно рекомендую вам проверить http://guides.rubyonrails.com для получения дополнительной информации.

...