Servidor & DevOps 32 visualizações

Como configurar um servidor de aplicação com PM2 para manter processos Node.js sempre ativos

Ver no WHMCS

Como configurar um servidor de aplicação com PM2 para manter seus processos Node.js sempre ativos

Oi, tudo bem? Aqui é a Sensei da GeHost 🌱 Se você tem uma aplicação em Node.js e já passou pelo perrengue de ela "cair" sozinha depois de um tempo, ou de precisar ficar reiniciando manualmente sempre que o servidor reinicia, esse guia é pra você. Vamos aprender juntos a usar o PM2, um gerenciador de processos que cuida da sua aplicação como se fosse um cuidador 24 horas: reinicia sozinho se travar, guarda os logs organizadinhos e sobe tudo de novo automaticamente se o servidor reiniciar.

Antes de começar: este guia usa comandos de terminal. O tipo de acesso disponível pode variar conforme o seu plano/ambiente — se tiver dúvida se o seu ambiente atual permite executar esses comandos, dá uma olhada no painel.gehost.com.br ou fala com o nosso suporte antes de seguir. Assim a gente evita qualquer susto.

1. O que é o PM2 e por que ele é tão importante

O PM2 é como um "zelador" da sua aplicação Node.js. Ele:

  • Mantém o processo rodando em segundo plano (mesmo depois que você fecha o terminal);
  • Reinicia a aplicação automaticamente se ela travar ou "cair" por algum erro;
  • Organiza os logs (mensagens de erro e de funcionamento) em um só lugar, facilitando muito na hora de investigar um problema;
  • Permite configurar para que a aplicação volte a funcionar sozinha se o servidor for reiniciado.

Em resumo: sem o PM2, se a sua aplicação travar de madrugada, ela fica fora do ar até alguém perceber e reiniciar na mão. Com o PM2, ele mesmo já tenta se recuperar.

2. Pré-requisitos antes de começar

Para seguir esse passo a passo você vai precisar de:

  1. Acesso ao terminal do seu ambiente (via SSH ou terminal do painel, dependendo de como seu ambiente está configurado);
  2. Node.js já instalado (você pode confirmar rodando node -v no terminal);
  3. Sua aplicação Node.js já pronta, com um arquivo principal (por exemplo, app.js ou index.js).

Se alguma dessas etapas ainda não estiver pronta, não tem problema — nosso suporte pode te orientar sobre o que está disponível no seu plano.

3. Instalando o PM2

Com o Node.js já instalado, a instalação do PM2 é bem simples. No terminal, digite:

npm install -g pm2

Esse comando instala o PM2 de forma global, ou seja, você poderá usá-lo em qualquer aplicação Node.js do seu ambiente, não só em uma específica.

4. Iniciando sua aplicação com o PM2

Agora vem a parte boa! Entre na pasta onde está o arquivo principal da sua aplicação e rode:

pm2 start app.js --name "minha-aplicacao"

Explicando cada pedacinho:

  • app.js é o arquivo principal da sua aplicação (troque pelo nome real do seu arquivo);
  • --name "minha-aplicacao" dá um apelido para o processo, facilitando identificar depois — especialmente se você tiver mais de uma aplicação rodando.

Pronto! Sua aplicação já está rodando "vigiada" pelo PM2.

5. Configurando para reiniciar sozinho quando o servidor reiniciar

Esse é o passo que garante tranquilidade: fazer o PM2 "lembrar" da sua aplicação mesmo depois de o servidor ser reiniciado. Rode os dois comandos abaixo, nesta ordem:

  1. pm2 startup
    Esse comando vai mostrar uma instrução na tela — copie e execute exatamente o que ele indicar.
  2. pm2 save
    Esse comando salva a lista de processos ativos, para que o PM2 saiba exatamente o que precisa religar depois.
💡 Dica da Sensei: sempre que instalar ou tirar uma aplicação do PM2, rode o pm2 save de novo para atualizar essa "lista de lembrança".

6. Comandos do dia a dia que você vai usar bastante

Aqui vai uma "cola" com os comandos mais úteis para o seu dia a dia com o PM2:

  • pm2 list
    mostra todas as aplicações que o PM2 está cuidando e o status de cada uma;
  • pm2 logs minha-aplicacao
    mostra os logs em tempo real — ótimo para investigar um erro;
  • pm2 restart minha-aplicacao
    reinicia a aplicação manualmente;
  • pm2 stop minha-aplicacao
    pausa a aplicação sem removê-la do PM2;
  • pm2 delete minha-aplicacao
    remove a aplicação da lista do PM2;
  • pm2 monit
    abre um painel visual, direto no terminal, mostrando uso de memória e CPU em tempo real.

7. Boas práticas para dormir tranquilo

Sempre dê nomes descritivos para cada aplicação com --name. Assim, se você tiver várias rodando, não corre o risco de reiniciar ou apagar a errada.
Depois de qualquer mudança importante — nova versão do código, nova variável de ambiente — use pm2 restart para garantir que a aplicação está rodando a versão mais recente.
Dê uma olhada nos pm2 logs de tempos em tempos, mesmo quando está tudo funcionando. Muitas vezes um pequeno aviso aparece ali antes de virar um problema grande.

8. E se algo não sair como esperado?

Sem crise! Configuração de servidor tem suas particularidades e cada ambiente pode ter uma configuraçãozinha diferente. Se em algum passo você travar, ou não tiver certeza sobre qual tipo de acesso o seu plano oferece, fale com a gente pelo painel.gehost.com.br — nossa equipe vai te ajudar a entender o melhor caminho para o seu caso.

Viu só como cuidar da sua aplicação Node.js pode ser tranquilo com o parceiro certo? O PM2 vai ser aquele amigo que segura as pontas enquanto você foca no que realmente importa: fazer sua aplicação crescer. Até o próximo guia! 🌿

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.