Execute node.js do upstart (Ubuntu 12.04)

1

Estou tentando configurar o script de início rápido para iniciar / parar meu aplicativo node.js.

Aqui está meu script inicial:

#!upstart

description "node.js server"
author "marduk"

start on filesystem
stop on runlevel [!2345]
oom never
expect daemon
respawn
respawn limit 10 60

script
        export HOME="/home/domains/srg-internal-dev"

        echo $$ > /var/run/node-srg-internal-dev.pid
        exec sudo -u www-data /usr/bin/node /home/domains/srg-internal-dev/api/server.js >> /home/domains/srg-internal-dev/node.log
2>&1
end script

pre-start script
        echo "['date -u +%Y-%m-%dT%T.%3NZ'] (sys) Starting" >> /home/domains/srg-internal-dev/node.log
end script

pre-stop script
        rm /var/run/node-srg-internal-dev.pid
        echo "['date -u +%Y-%m-%dT%T.%3NZ'] (sys) Stopping" >> /home/domains/srg-internal-dev/node.log
end script

Eu verifiquei este arquivo de script:

$ init-checkconf /etc/init.d/nodesrg.conf

File /etc/init.d/nodesrg.conf: syntax ok

Mas quando tento iniciar o nó, obtenho:

$ start nodesrg
start: Unknown job: nodesrg

O que estou fazendo de errado? ;)

    
por Marduk 18.06.2014 / 18:28

1 resposta

0

Tente mover o nodesrg.conf para /etc/init , não /etc/init.d. Init.d é onde os scripts de estilo SYSV vão, a configuração de upstart pertence ao primeiro.

Use initctl list para verificar se ele está aparecendo como um serviço pronto após você ter movido o arquivo.

Se isso não acontecer, você pode usar initctl reload-configuration e tentar novamente.

    
por 18.06.2014 / 18:46