Como usar o PM2 para manter uma aplicação Node.js sempre ativa imprimir

  • 0

Como usar o PM2 para manter sua aplicação Node.js sempre ativa

Oi! Sensei aqui de novo 👋. Se você tem uma aplicação Node.js rodando no seu servidor, já deve ter sentido aquele friozinho na barriga: você fecha o terminal, ou o servidor reinicia, e... a aplicação para. Ninguém quer isso, né? É exatamente pra resolver esse problema que existe o PM2.

Neste guia vou te explicar, com calma e passo a passo, o que é o PM2 e como usá-lo para manter seu app Node.js rodando 24 horas por dia, se recuperando sozinho até de eventuais quedas.

O que é o PM2?

O PM2 é um gerenciador de processos para aplicações Node.js. Pense nele como um "zelador" que fica de olho na sua aplicação: se ela travar ou fechar por algum motivo, o PM2 percebe e reinicia automaticamente. Ele também deixa sua aplicação rodando em segundo plano, então você pode fechar o terminal sem se preocupar.

💡 Dica da Sensei: o PM2 é indicado para quem já tem acesso via terminal (SSH) ao servidor onde a aplicação Node.js está hospedada. Se você não sabe se o seu plano permite esse tipo de acesso, é só confirmar com o nosso suporte ou dar uma olhada nos detalhes do seu plano no painel.gehost.com.br.

Passo 1: Verifique se o Node.js está instalado

Antes de instalar o PM2, você precisa ter o Node.js instalado no ambiente onde vai rodar sua aplicação. Para conferir, no terminal, digite:

node -v

Se aparecer um número de versão (por exemplo, algo como v18.x.x), você está pronto para seguir em frente. Se não aparecer nada ou der erro, o Node.js ainda não está instalado nesse ambiente — nesse caso, fale com o suporte da GeHost para te orientar sobre a melhor forma de instalar o Node.js no seu ambiente específico.

Passo 2: Instale o PM2

Com o Node.js confirmado, instale o PM2 globalmente com o gerenciador de pacotes npm (que já vem junto com o Node.js):

npm install -g pm2

Pronto! Isso pode levar alguns segundos. Ao final, você já pode usar o comando pm2 de qualquer lugar do terminal.

Passo 3: Inicie sua aplicação com o PM2

Agora vem a parte boa. Em vez de iniciar sua aplicação do jeito tradicional (com node app.js, por exemplo), você vai usar o PM2 para isso:

  1. Acesse, pelo terminal, a pasta onde está o arquivo principal da sua aplicação (geralmente app.js, server.js ou index.js).
  2. Rode o comando abaixo, trocando app.js pelo nome do seu arquivo principal:
pm2 start app.js --name "meu-site"

O --name é opcional, mas eu recomendo bastante: assim fica muito mais fácil identificar sua aplicação depois, principalmente se você tiver mais de um app Node.js rodando ao mesmo tempo.

Passo 4: Confira se está tudo rodando

Para ver a lista de aplicações que o PM2 está cuidando, use:

pm2 list

Você vai ver uma tabela com o nome da sua aplicação, o status (deve aparecer online), quanto tempo está rodando, uso de memória, entre outras informações.

Comandos essenciais do dia a dia

Aqui vai uma "cola" com os comandos que você mais vai usar no seu dia a dia com o PM2:

  • pm2 restart meu-site — reinicia a aplicação (útil depois de atualizar o código).
  • pm2 stop meu-site — para a aplicação sem removê-la da lista do PM2.
  • pm2 delete meu-site — remove a aplicação da lista do PM2 (ela para de rodar).
  • pm2 logs meu-site — mostra os logs (mensagens e erros) em tempo real. Ótimo para investigar problemas!
  • pm2 monit — abre um painel simples no terminal para acompanhar CPU e memória da aplicação ao vivo.

Passo 5: Faça o PM2 iniciar sozinho quando o servidor reiniciar

De nada adianta sua aplicação ficar de pé enquanto o servidor está ligado, se ela não voltar sozinha depois de uma reinicialização, certo? Para resolver isso, o PM2 tem um recurso chamado startup:

  1. Rode o comando:
pm2 startup

Esse comando vai te devolver uma linha de comando pronta (geralmente começando com sudo). Copie exatamente essa linha que apareceu no seu terminal e rode ela em seguida — é ela quem configura o PM2 para iniciar junto com o servidor.

  1. Depois, salve a lista atual de aplicações que devem subir automaticamente:
pm2 save
💡 Dica da Sensei: sempre que adicionar uma aplicação nova ao PM2, ou mudar alguma configuração importante, rode pm2 save de novo para garantir que essa "foto" mais recente fique guardada.

Bônus: reinício automático em caso de erro

A boa notícia é que isso já vem pronto por padrão! Se sua aplicação travar ou fechar inesperadamente por causa de um erro no código, o PM2 já tenta reiniciá-la automaticamente. Você pode acompanhar quantas vezes isso aconteceu na coluna restarts do comando pm2 list — se esse número estiver crescendo muito rápido, é sinal de que vale a pena investigar os logs com pm2 logs para entender o que está acontecendo.

Resumo rápido

E é isso! Com esses passos, sua aplicação Node.js fica muito mais estável e profissional:

  • ✅ Roda em segundo plano, mesmo com o terminal fechado
  • ✅ Reinicia sozinha se travar
  • ✅ Volta a funcionar automaticamente depois que o servidor reiniciar
  • ✅ Logs organizados e fáceis de consultar

Qualquer dúvida durante o processo, não hesite em chamar o nosso suporte — estamos aqui pra ajudar você a manter sua aplicação sempre no ar. 🙂


Esta resposta lhe foi útil?

« Retornar