PM2 ou systemd para a aplicação Node
Sua aplicação precisa voltar sozinha ao cair e subir junto com a VPS. PM2 e systemd resolvem isso de formas diferentes. Veja como configurar cada um e qual escolher.
O problema que resolvem
Rodar a aplicação direto no terminal funciona até você fechar a sessão ou a VPS reiniciar. Aí tudo cai. Um gerenciador de processos resolve isso: mantém a aplicação viva, reinicia ao falhar e a traz de volta após um reboot. É requisito para qualquer API Node em produção.
PM2 na prática
O PM2 é feito para Node. Com poucos comandos, ele inicia a aplicação, configura restart, mostra logs e até roda em cluster para usar vários núcleos. É a escolha rápida de quem quer subir um serviço sem se aprofundar em arquivos de sistema. O guia de deploy de bot com PM2 mostra o fluxo completo.
Para o PM2 trazer a aplicação de volta após reboot, rode o comando de startup dele, que gera a integração com o systemd. Sem esse passo, o boot não sobe a aplicação.
systemd na prática
O systemd é o gerenciador do próprio Linux. Você escreve um arquivo de serviço descrevendo o comando, o usuário e a política de restart. Em troca de um pouco mais de configuração, ganha integração total com o sistema, logs centralizados e controle uniforme de todos os serviços da máquina.
Nunca rode a aplicação como root sem necessidade. Defina um usuário dedicado no serviço para limitar o estrago caso a aplicação seja comprometida.
Comparação
| Critério | PM2 | systemd |
|---|---|---|
| Facilidade | Alta para Node | Exige arquivo de serviço |
| Escopo | Focado em Node | Qualquer serviço |
| Cluster | Embutido | Manual |
| Integração com o sistema | Via startup | Nativa |
Como escolher
- PM2 para subir rápido uma ou poucas aplicações Node
- systemd para padronizar muitos serviços na máquina
- Restart com limite de tentativas em ambos
- Início no boot configurado e testado
Não existe escolha errada: o importante é que a aplicação volte sozinha. Para hospedar bots e serviços com baixa latência, conheça os planos de bots e as VPS Ryzen.
Perguntas frequentes
- PM2 e systemd fazem a mesma coisa?
- Em parte. Os dois mantêm um processo vivo, reiniciam ao cair e sobem no boot. O PM2 é focado em Node e fácil de usar. O systemd é o gerenciador do sistema e serve qualquer tipo de serviço.
- Posso usar os dois juntos?
- Sim, é comum. Você usa o PM2 para gerenciar a aplicação e configura o systemd para iniciar o próprio PM2 no boot. Assim ganha a praticidade do PM2 com a confiabilidade do systemd.
- Como evito loop de reinício?
- Defina um limite de tentativas por janela. Se a aplicação cai repetidas vezes por erro de configuração, reiniciar sem parar só piora. O limite força a investigação em vez de mascarar o problema.
- Preciso disso para um bot de Discord?
- Sim. Um bot que não reinicia sozinho fica offline na primeira falha. Tanto PM2 quanto systemd mantêm o bot de pé, como mostra o guia de deploy de bot com PM2.
Próximo passo
Ver planos VPS
VPS root no Brasil com NVMe e AntiDDoS.
Guias relacionados
Como hospedar API Node.js em VPS no Brasil
API em produção pede process manager, proxy reverso, HTTPS e monitoramento. VPS no Brasil reduz latência para apps e integrações voltadas ao mercado local.
Deploy de bot Discord Node.js com PM2: variáveis de ambiente e restart automático
PM2 é gerenciador de processos Node popular para bots Discord porque reinicia após crash, persiste entre reboots quando combinado com startup hook e centraliza logs mínimos sem montar Kubernetes inteiro. Este guia cobre arquivo ecosystem, env vars para token e integração com hospedagem BR.
Como agendar tarefas na VPS com cron
Tarefa repetitiva que você faz na mão é tarefa esquecida. O cron roda comandos em horário fixo: backup de madrugada, limpeza semanal, reinício programado. Veja como configurar.