Hospedagem Segura — página inicial

Docker e aplicações

Como instalar Node.js no servidor Linux e manter a aplicação no ar

Instalar o Node.js é a parte fácil. Para uma aplicação em produção, você também precisa de um gerenciador de processos e de um proxy reverso. Veja o caminho completo no Ubuntu.

Como instalar Node.js no servidor Linux e manter a aplicação no ar

Atualizado em 02/10/2026

Escolha a versão: use a LTS

O Node.js tem versões LTS (suporte de longo prazo) e versões Current. Em servidores, use sempre uma LTS ativa: ela recebe correções de segurança por mais tempo. O pacote nodejs dos repositórios do Ubuntu costuma estar desatualizado.

Opção 1: NodeSource (para o sistema todo)

curl -fsSL https://deb.nodesource.com/setup_lts.x -o nodesource_setup.sh
sudo -E bash nodesource_setup.sh
sudo apt-get install -y nodejs
node -v && npm -v
O script adiciona o repositório da NodeSource para a linha LTS atual. Leia o script antes de executar.

Opção 2: nvm (por usuário, várias versões)

O nvm instala o Node.js na pasta do usuário e permite ter várias versões lado a lado, útil quando o servidor roda projetos diferentes. Instale seguindo as instruções do repositório oficial do nvm e depois:

nvm install --lts
nvm alias default 'lts/*'

Mantenha a aplicação rodando com PM2

Um processo iniciado com node app.js no terminal termina quando a sessão SSH fecha. O PM2 mantém o processo ativo, reinicia em caso de falha e sobe a aplicação junto com o servidor:

sudo npm install -g pm2
pm2 start app.js --name minha-api
pm2 save
pm2 startup   # mostra o comando para iniciar com o sistema; execute o que ele indicar

Comandos do dia a dia: pm2 status, pm2 logs minha-api, pm2 restart minha-api.

Publique atrás do Nginx

A aplicação escuta em uma porta local (por exemplo, 3000) e o Nginx recebe o tráfego nas portas 80 e 443, cuidando do HTTPS e encaminhando as requisições:

server {
    server_name api.exemplo.com.br;
    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
Depois, emita o certificado com o Certbot (sudo certbot --nginx) e recarregue o Nginx.

Não rode como root

Crie um usuário próprio para a aplicação e deixe a porta da aplicação fechada para a internet: só o Nginx deve falar com ela.

Node.js pronto para produção

A hospedagem Node.js em VPS é entregue com Node.js LTS, PM2 e Nginx configurados.

WhatsApp