Я думаю, что Кил суммировала это довольно хорошо.Но я подумал, что дам вам знать, что именно я использовал с бета-версии rails (и теперь с RC).Эта настройка хорошо сработала для меня:
Серверы Rackspace Cloud - Предоставляет вам полный контроль над сервером.Вы можете изменить размеры своих серверов на лету.Вы также можете сделать снимок, если хотите скопировать настройки для другого сайта.Это дешево и, на мой взгляд, лучше, чем облако Amazon.
CentOS 5.4 - твердое тело, но, как упоминал Кил, вероятно, любой дистрибутив будет работать нормально.
Ruby 1.9.2RC 2 - проблем с Rails 3 для меня пока нет.Определенно будет использовать Ruby Enterprise, когда они перенесут его на 1.9.2 (хотя не уверен, что это в работе?)
Nginx - быстрый и легкий.Мне это нравится намного лучше, чем apache.Хорошо работает перед Passenger, mongrel и thin.
MySQL - только личные предпочтения для этого.Я использую это в течение многих лет.Легко настроить главный / подчиненный или главный / главный конфиг, если вам нужно масштабировать.Некоторые люди добиваются успеха, просто используя sqlite, но я предпочитаю что-то более надежное.
Github - обязательное условие для контроля исходного кода.Bundler очень хорошо работает с github
Сервер приложений - я все еще спорю, что с этим делать.Я был доволен Passenger 2.2.15 до тех пор, пока не увидел, сколько времени понадобилось для создания новых процессов ruby для обработки параллелизма.Создание нового процесса для меня занимает до 30 секунд, и приложение заблокировано, поэтому никакие запросы не могут проходить, пока оно порождается.Я сейчас выясняю, загружается ли мое приложение или Rails 3 так долго.Эта проблема исправлена в Passenger 3, хотя.Надеюсь, что скоро выйдет.В результате я, вероятно, собираюсь использовать Thin или Mongrel, пока не выйдет Passenger 3.
Capistrano - отлично работает для Rails 3. Я бы порекомендовал найти некоторые рецепты шапки для управления версиямиваше приложение с тегами git ... или просто напишите свое собственное.
Что-нибудь еще? На самом деле не связано с сервером, но я бы порекомендовал использовать новый API плагина для любой части вашегоприложение, которое можно использовать повторно.Читайте о рельсах и двигателях.Создать ювелирное украшение с помощью Jeweler просто, а с помощью GitHub - с помощью заданий ювелирного рейка.Затем вы можете выполнить развертывание из тега github или из master, добавив источник gem и github в ваш Gemfile и связав его с установкой или обновлением.Недавно я перенес весь свой общий код приложения (блог, аутентификация и т. Д.) На движки Rails 3, и он отлично работает.И всякий раз, когда мне нужно повторно использовать этот код, я просто помещаю его в Gemfile нового приложения.