Como iniciar o aplicativo node.js na inicialização da máquina, criando um serviço de inicialização

0

Minha máquina é Ubuntu 16.04. Eu quero iniciar meu aplicativo node.js quando a máquina é inicializada toda vez. De acordo com este post sobre serviços de início automático. Eu tentei fazer um serviço fazendo o seguinte:

1) Eu criei um script para iniciar o aplicativo do nó com o módulo forever do nó.

#!/bin/bash

echo "Starting App"

forever -a start /opt/app/app.js

echo "App started"

2) Eu nomeei este script startApp.sh e coloquei este script dentro da pasta /etc/init.d / .

3) Eu corri o comando update-rc.d startApp defaults

Mas recebi o erro update-rc.d: error: o initscript não existe: /etc/init.d/startApp

O que eu fiz de errado?

    
por b11 03.05.2018 / 20:00

1 resposta

1

Existem várias maneiras de conseguir isso PM2 Você pode usar o PM2, que fornece a você a criação de um script de inicialização para reinicializações esperadas ou inesperadas da máquina.

link

Docker Eu prefiro criar o Dockerfile e executá-lo com --restart = always tag

Se você quiser continuar com seu script de shell Então use o crontab do unix É muito fácil de usar & você pode configurar em minutos

  1. Edite o crontab executando o seguinte, substituindo o "USER" pelo usuário do tempo de execução desejado para o processo do nó. Se você escolher um usuário diferente de si mesmo, você terá que executar isso com o sudo.

    $ crontab -u USER -e

  2. Uma vez no editor, adicione a seguinte linha:

    @reboot / usr / local / bin / para sempre iniciar /your/path/to/your/index.js else

    @reboot sh /your/path/to/your/startApp.sh

  3. Salvar e & confirmar arquivo é salvo pelo comando de verificação de # 1 novamente

    Nota: Na minha opinião, você deve usar o caminho completo no arquivo crontab para evitar problemas

Você pode consultar essa referência de URL How to Cron do Ubuntu

    
por 18.05.2018 / 12:46