Como uso o runit para gerenciar meu serviço node.js customizado?

3

Meu serviço é muito básico, apenas um serviço HTTP. Eu só quero que ele reinicie automaticamente quando sai por causa de um erro. Eu imaginei que poderia usar o runit para fazer isso, mas parece que os docs do runit falam sobre como converter todo o init.d para executar. Eu quero preservar o init.d e apenas usar o runit para o meu serviço.

Eu estava olhando para esses documentos .

Obrigado.

EDIT: Eu acho que isto está apontando na direção certa, eu acho que eu só preciso saber como fazer uma serviço agora.

    
por Bjorn Tipling 16.01.2011 / 22:18

2 respostas

6

O nó é realmente simples de rodar com o runit. Supondo que você já tenha o runit instalado em um layout de diretório padrão, crie o diretório /service/node-service e coloque o arquivo /service/node-service/run :

#!/bin/sh
chpst -unobody node /path/to/your-service.js

Faça o executável do script de execução (chmod + x run) e você pode testá-lo executando sudo ./run. Se você está rodando no Debian ou Ubuntu, ao invés de instalar o runit a partir da fonte, é mais fácil apenas apt-get install runit e criar o diretório /etc/sv/node-service ao invés de /service/node-service , e então o link simbólico /etc/sv/node-service to /etc/service/node-service . Além disso, se você quiser que seu serviço seja executado no contexto de um usuário diferente de ninguém, altere o parâmetro -u<username> para refletir isso.

    
por 16.01.2011 / 23:49
2

Dê uma olhada em para sempre .

    
por 16.01.2011 / 22:25

Tags