
Para que um programa seu (uma aplicação Node.js, um script Python, um bot) inicie com o servidor e volte sozinho se cair, escreve-se um arquivo de unidade em /etc/systemd/system/, recarrega-se o systemd e ativa-se o serviço com systemctl enable --now. É a forma nativa de qualquer Linux moderno, sem instalar mais nada. Para aplicações Node.js existe ainda o PM2 (manter uma aplicação Node.js a rodar com o PM2); o systemd serve para tudo o resto, e também para o Node.
Passo a passo
|
|
|
|
|
|
|
As linhas da unidade, em palavras
| Linha | Para quê |
| After=network.target | Só inicia depois de a rede estar pronta. |
| User= | Quem roda o programa. Nunca root, a não ser que precise mesmo. |
| ExecStart= | O comando, com o caminho completo do programa. O systemd não usa o seu PATH nem o seu terminal. |
| Restart=on-failure | Volta a iniciar se terminar com erro; não volta se você o parou de propósito. |
| EnvironmentFile= | Lê as variáveis de um arquivo, em vez de as escrever na unidade (que qualquer usuário pode ler). |
| WantedBy=multi-user.target | É o que faz o enable iniciá-lo na inicialização normal do servidor. |
| O ExecStart não é um terminal. Redirecionamentos, && e ~ não funcionam como no terminal; use caminhos absolutos e, se precisar de vários comandos, ponha-os num script e execute o script. Se vir “status=203/EXEC”, o caminho está errado: ler o systemctl status. |
| Mudou a unidade e nada mudou? Falta o sudo systemctl daemon-reload. E uma unidade que dá “Permission denied” ao ler uma pasta é permissões ou o SELinux: permissões de arquivos. |
| Reiniciar com um temporizador, em vez do cron: o systemd também agenda (arquivos .timer), mas para tarefas simples o cron continua sendo o mais direto: quando o cron não corre. |
|
O programa corre à mão e falha como serviço, e já leu o registro? Mostre-nos o texto do erro e o que mudou desde que funcionava. Abrir um pedido de suporte |
|
VEJA TAMBÉM Um serviço não inicia: ler o systemctl status Onde estão os registros num VPS Linux |
PRODUTO RECOMENDADO Servidor VPS com acesso root Recursos só seus, o sistema que escolher, reinstalação quando quiser. desde R$ 46,20/mês (plano de 3 anos, com cupom) Ver planos |











