NodeJs: Colocando o nosso programa como um daemon (serviço) no Linux

From Wiki

Após criarmos o nosso primeiro programa NodeJs: Criando o primeiro programa NodeJs, vamos colocar ele para executar automaticamente no systemd.

Procedimento

Criando o usuário para executar o nosso aplicativo

Por segurança, não devemos executar nosso aplicativo como root. Vamos criar um usuário para isso.

# adduser web

Faça um sudo e vá para o home do usuário

# sudo web
$ cd

Faça a cópia dos seus arquivos fontes

$ git clone https://github.com/ebasso/helloword
$ cd helloword

Instale as dependências do node

$ npm install --production

Verifique a aplicação

$ node helloworld.js

Executando o programa em NodeJs com systemd

Como root, crie o arquivo /etc/systemd/system/helloword-app.service, informando

[Service]
WorkingDirectory=/home/web/helloworld
ExecStart=/usr/local/bin/node helloworld.js
User=web
Group=web
Restart=always
Environment='NODE_ENV=production'
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=helloword-app

Salve e feche

Inicie a aplicação

# systemctl start helloword-app

Ver também