Вопрос

Я создаю веб-сайт с помощью Ruby on Rails и буду размещать его через друга.У него есть место и возможности для размещения сервера, а у меня есть система, которую я могу выделить в качестве выделенного сервера.И это моя первая попытка создать веб-сайт Rails, плюс хостинг с другом.

Сегодня и завтра буду форматировать и готовить сервер со следующей конфигурацией ПО:

  • Апач2
  • Phusion Passenger (он же mod_rails)
  • Рубиновый выпуск Enterprise
  • MySQL 5

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

Какая сборка Linux наиболее рекомендуется для этой конфигурации?

Я планировал развернуть на CentOS.Предостережение заключается в том, что я являюсь пользователем Windows с первых дней своей жизни и использовал Linux только в качестве веб-хостинга и очень мало команды разработки (например, CVS).Таким образом, мои знания о Linux довольно малы, а мой опыт меньше.Если я столкнусь с какими-либо трудностями при развертывании, техническими особенностями дистрибутива Linux или чем-то в этом роде...Я полностью вывешен, чтобы высохнуть.

Сюда входят такие вещи, как создание чего-либо из исходного кода.

Как настроить Capistrano на моем сервере для удаленного развертывания?

Я знаю, что это оксюморон (Capistrano работает на стороне клиента, а не на стороне сервера), но я не знаю, что ему нужно на сервере.Нужен ли FTP?SFTP?SSL?СШ?Что?

Что мне настроить на своем сервере и как его настроить, чтобы обеспечить бесперебойную работу Capistrano?

Кроме того, как мне сообщить Капистрано о том, что мой SCM находится на локальном хосте и принадлежит Mercurial?(Я использовал TortoiseMg.) Я мог бы преобразовать в SVN и, возможно, настроить репозиторий на сервере, но я не совсем уверен, как это сделать.

На что вы обращаете внимание при развертывании с локальной разработки на совершенно другую ОС?

Разнообразный

Почему бы тогда не выполнить развертывание в Windows? Потому что я оплачиваю счета и не хочу платить за еще одну копию XP или, возможно, 2000;Я отказываюсь использовать Vista.Кроме того, Linux гораздо более безопасен для серверной среды, чем Windows.

Почему бы не прочитать существующие руководства? Я;это мой первый сайт с Ruby on Rails, мой бюджет сейчас измеряется менее чем двузначными цифрами, и я пытаюсь расширить свой кругозор, выполняя настройку сервера и удаленное развертывание (для дальнейшего развития сайта) с помощью сам.Раньше я полагался на хосты для своих PHP-сайтов, но они гораздо более однородны по своей конфигурации.Серверы Ruby стоят дорого, для меня непомерно дорого, и узнать их конфигурацию не помешало бы.

Это было полезно?

Решение

Какая сборка Linux наиболее рекомендуется для этой конфигурации?

Любой из дистрибутивов будет работать нормально, если он поддерживает Apache2 (почти все из них) и вы можете установить Passenger (вместе с Ruby и Rails).Лично я использую CentOS и считаю, что его менеджер пакетов до смешного прост в использовании (ням).

yum install -y httpd ruby
gem install rails passenger

Тогда все, что вам нужно сделать, это небольшая настройка в /etc/httpd/conf/httpd.conf для добавления Пассажира (следуя установочному файлу Пассажира passenger-install-apache2-module) и укажите его в папку развертывания. .../app_name/current/public.

Поскольку вы используете Passenger, вам следует переопределить задачу перезапуска, чтобы она работала.

config/deploy.rb

namespace :deploy do
  desc "Restart Application"
  task :restart, :roles => :app do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

Как настроить Capistrano на моем сервере для удаленного развертывания?

Все, что нужно Capistrano, — это доступ по SSH с достаточными разрешениями для развертывания, миграции, перезапуска сервера приложений и т. д.Просто следуйте руководство по началу работы в Веб-сайт Капистрано и вы сразу же начнете работать.

Capistrano необходим доступ к вашему SCM, вам нужно будет разрешить ему подключение к вашей машине.Все, что делает Capistrano, — это извлекает ваш код в папку выпуска, перемещает символическую ссылку из старой версии и перезапускает сервер приложений.

На что вы обращаете внимание при развертывании с локальной разработки на совершенно другую ОС?

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

Другие советы

Я нашел статьи, опубликованные на Slicehost.com (компания, предоставляющая VPS-хостинг), весьма полезными.

Полный список статей находится по адресу: http://articles.slicehost.com/sitemap .Там вы найдете ряд статей, посвященных производственному развертыванию приложения Ruby on Rails.

Я рекомендую использовать сервер Ubuntu и устаревший, поскольку он предоставляет массу рецептов для системного администратора, которые еще больше упрощают работу.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top