wils@web ~ $ cat ~/ajuda/como-criar-unidades-de-servico-systemd-para-aplicacoes-em-node-js-no-ubuntu-22-04.md

Servidores

Como criar unidades de serviço systemd para aplicações em Node.js no Ubuntu 22.04

atualizado em 21/07/2026

Este manual tem como objetivo ensinar como criar unidades de serviço systemd para aplicações em Node.js no Ubuntu 22.04. O systemd é um sistema de inicialização e gerenciamento de serviços que permite gerenciar processos de forma eficiente.

Pré-requisitos

  • Ubuntu 22.04 instalado
  • Node.js e npm instalados
  • Acesso ao terminal com permissões de sudo

Passo a Passo

1. Criar a Aplicação Node.js

Primeiro, vamos criar uma simples aplicação Node.js. Navegue até o diretório onde deseja criar sua aplicação e execute:

mkdir minha-aplicacao
cd minha-aplicacao
npm init -y
npm install express

Crie um arquivo chamado app.js com o seguinte conteúdo:

const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;

app.get('/', (req, res) => {
    res.send('Hello World!');
});

app.listen(PORT, () => {
    console.log(`Servidor rodando na porta ${PORT}`);
});

2. Criar a Unidade de Serviço systemd

Agora, vamos criar uma unidade de serviço para gerenciar a aplicação. Crie um arquivo chamado minha-aplicacao.service no diretório /etc/systemd/system/:

sudo nano /etc/systemd/system/minha-aplicacao.service

Adicione o seguinte conteúdo ao arquivo:

[Unit]
Description=Minha Aplicação Node.js
After=network.target

[Service]
ExecStart=/usr/bin/node /caminho/para/minha-aplicacao/app.js
Restart=always
User=www-data
Group=www-data
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

3. Iniciar e Habilitar o Serviço

Após criar a unidade de serviço, você deve recarregar o systemd e iniciar o serviço:

sudo systemctl daemon-reload
sudo systemctl start minha-aplicacao
sudo systemctl enable minha-aplicacao

Conclusão

Agora sua aplicação Node.js está rodando como um serviço gerenciado pelo systemd. Você pode verificar o status do serviço usando:

sudo systemctl status minha-aplicacao

Dica: Para visualizar os logs da sua aplicação, utilize o comando:

journalctl -u minha-aplicacao

Precisa de ajuda com isso no seu servidor? A gente resolve pra você.

falar no WhatsApp

// deu erro ou não funcionou?

Achou algo errado neste manual?

Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.