Назад | Перейти на главную страницу

Установка приложения ruby ​​как службы Linux

Есть очень популярное приложение для управления дефектами под названием Redmine. Он написан на Ruby. Я смог заставить его работать после их инструкции. Однако я хотел бы запускать приложение как службу, которая запускается автоматически при каждой перезагрузке сервера. Как вы собираетесь добавить веб-сайт на Ruby в качестве службы Linux?

Не существует такого понятия, как «веб-сайт Ruby»; а Рельсы сайту требуется запущенный процесс сервера приложений для обслуживания запросов приложения, обычно это один из mongrel, thin или unicorn (если вы используете webrick, вы уже проиграли).

Ваши варианты в целом:

  1. Напишите для него сценарий инициализации, вызовите этот сценарий инициализации при загрузке в соответствии с процедурой для вашего конкретного дистрибутива.
  2. Используйте правило @reboot в cron (uuuuugly)
  3. Используйте что-то вроде daemontools для управления серверным процессом

Я делаю (3), потому что это круто. Я ожидаю, что многие люди порекомендуют monit вместо daemontools; Я сделал это и ненавидел каждую секунду.

Вам может быть интересно это:

http://rubyworks.rubyforge.org/

После того, как ваша система правильно настроена для работы в качестве реального сервера для материалов Ruby, вы можете вставить свое приложение Redmine в ее среду.

Если вы используете последнюю версию Ubuntu, вам нужно написать сценарий Upstart - Помимо этого введения, / etc / init полон примеров.

Если вы занимаетесь чем-то еще, вам нужно создать сценарий инициализации - Redmine вики есть пример, специально разработанный для Redmine.

Если у вас уже запущен apache или какой-либо другой веб-сервер, вам не нужно запускать Redmine как отдельную службу - просто запустите его под вашим веб-сервером. Для Apache Просто следуйте инструкциям по установке Passenger здесь:

http://www.modrails.com/install.html

А затем добавьте в Apache запись, указывающую на путь к этому сайту, например:

<VirtualHost *:80>
    ServerName www.mycook.com
    DocumentRoot /webapps/mycook/public
    <Directory /webapps/mycook/public>
        Allow from all
        Options -MultiViews
    </Directory>
</VirtualHost>

http://www.modrails.com/documentation/Users%20guide%20Apache.html#_deploying_a_ruby_on_rails_application