
VPS para Node.js: Deploy com PM2 e Nginx na Prática
VPS para Node.js
Como hospedar aplicações Node.js em VPS com PM2, Nginx e deploy automatizado
K2Host Blog · k2host.com.br/
Node.js é a plataforma preferida para APIs rápidas, aplicações em tempo real e serviços de backend leves. Hospedar Node.js em VPS oferece controle total sobre o ambiente, sem as limitações de plataformas gerenciadas como Heroku ou Vercel.
1. Por que VPS para Node.js?
Plataformas gerenciadas são convenientes, mas cobram caro conforme o uso aumenta — especialmente para aplicações com uso constante de CPU. Uma VPS tem custo fixo e recursos dedicados, o que a torna muito mais econômica para aplicações em produção contínua.
- Custo fixo independente do número de requisições
- Sem limitação de memória RAM ou tempo de execução
- Controle total sobre versão do Node.js e dependências
- Possibilidade de rodar múltiplas aplicações na mesma VPS
2. VPS para Node.js: Stack Recomendada
SO: Ubuntu 22.04 LTS
Node.js: versão LTS atual (via NVM para fácil gerenciamento de versões)
Process Manager: PM2 (reinicia automaticamente se cair, gerencia múltiplos processos)
Servidor web: Nginx como proxy reverso
Banco de dados: PostgreSQL, MySQL ou MongoDB dependendo do caso
Cache: Redis para sessões e cache
SSL: Let’s Encrypt
3. Instalação do Node.js com NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
source ~/.bashrc
nvm install –lts
nvm use –lts
O NVM permite instalar e alternar entre versões do Node.js facilmente — essencial quando você roda múltiplas aplicações com versões diferentes.
4. Configurando PM2
O PM2 é o process manager padrão para Node.js em produção:
npm install -g pm2
pm2 start app.js –name minha-api
pm2 startup
pm2 save
Com ‘pm2 startup’ e ‘pm2 save’, sua aplicação reinicia automaticamente se o servidor for reiniciado.
5. Configurando Nginx como proxy reverso
O Node.js geralmente roda em uma porta interna (ex: 3000). O Nginx recebe as requisições na porta 80/443 e as passa para o Node.js:
location / {
proxy_pass http://localhost:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection ‘upgrade’;
proxy_set_header Host $host;
}
6. Múltiplas aplicações na mesma VPS
Uma VPS com 4 GB de RAM pode rodar múltiplas aplicações Node.js simultaneamente, cada uma em sua própria porta, com o Nginx roteando para o domínio correto. Isso é muito mais econômico que ter uma VPS por aplicação.
Uma VPS com 4 GB de RAM na K2Host pode hospedar 3-5 APIs Node.js pequenas ao mesmo tempo, com Nginx roteando por domínio. Excelente custo-benefício para agências.
Com uma VPS para Node.js bem configurada, você tem controle total sobre performance, custos e escalabilidade da sua aplicação em produção.