Instalando um aplicativo ruby como um serviço Linux

2

Existe uma aplicação altamente classificada para gerenciamento de defeitos chamada Redmine. Está escrito em Ruby. Consegui que funcionasse seguindo as instruções . No entanto, gostaria de executar o aplicativo como um serviço que é iniciado automaticamente toda vez que o servidor é reinicializado. Como você vai adicionar um site Ruby como um serviço Linux?

    
por User1 06.01.2010 / 00:38

4 respostas

0

Se você estiver em uma versão recente do Ubuntu, você vai querer escrever um script Upstart - bem como essa introdução, o / etc / init está cheio de exemplos.

Se você estiver em mais alguma coisa, você vai querer criar um script de inicialização - o redmine wiki tem um exemplo, especificamente adaptado para redmine.

    
por 06.01.2010 / 02:21
1

Não existe um "site Ruby"; um site Rails precisa de um processo de servidor de aplicativos em execução para atender aos pedidos do aplicativo, normalmente é um dos mestiços, finos ou unicórnios (se você estiver usando o webrick, já está perdendo) .

Suas opções são amplamente:

  1. Escreva um script de inicialização para ele, invoque esse script de inicialização na inicialização de acordo com o procedimento para sua distribuição específica
  2. Use uma regra @reboot no cron (uuuuugly)
  3. Use algo como daemontools para gerenciar o processo do servidor

Eu faço (3), porque é incrível. Espero que muitas pessoas recomendem o monit no lugar dos daemontools; Eu fiz isso e odiei cada segundo disso.

    
por 06.01.2010 / 00:53
0

Você pode estar interessado nisso:

link

Uma vez que seu sistema esteja configurado corretamente para ser executado como um servidor real para Ruby, você pode inserir seu aplicativo Redmine em seu ambiente.

    
por 06.01.2010 / 01:04
0

Se você tiver o apache ou algum outro servidor web já em execução, não será necessário executar o Redmine como um serviço separado - basta executá-lo em seu servidor da web. Para o Apache Basta seguir as instruções para instalar o Passenger aqui:

link

Em seguida, adicione uma entrada no Apache que aponte para o caminho para esse site, da seguinte forma:

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

link

    
por 06.01.2010 / 01:21