Testando Criação de pré-páginas em HTML
Plataformas gerenciadas são a forma mais rápida de publicar um app Next.js, mas um servidor próprio dá controle total sobre custo, dados e configuração. Este é o roteiro básico.
1. Build standalone
Com output: 'standalone' no next.config, o build gera uma pasta autossuficiente, com o server.js e só as dependências que o app realmente usa:
npm ci
npm run build
cp -r .next/static .next/standalone/.next/static
cp -r public .next/standalone/public
Não esqueça de copiar o `.next/static`. O standalone não o inclui, e sem ele o site sobe respondendo 200, só que sem CSS.
2. PM2 para manter o processo vivo
O PM2 reinicia o app se ele cair e o sobe de novo quando o servidor reinicia:
PORT=3000 HOSTNAME=127.0.0.1 pm2 start .next/standalone/server.js --name meu-app
pm2 save
pm2 startup
Escutar em 127.0.0.1 garante que o Node só seja acessível pelo proxy, nunca direto da internet.
3. Nginx na frente
O Nginx recebe as conexões HTTPS, serve os arquivos estáticos direto do disco e repassa o resto ao Node:
location /_next/static/ {
alias /srv/meu-app/.next/static/;
expires 1y;
}
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
4. HTTPS
Com o Certbot, um certificado gratuito da Let's Encrypt sai em um comando, e a renovação fica agendada automaticamente. Atrás da Cloudflare, use o modo SSL Full (strict), para que o trecho entre a CDN e o servidor também seja criptografado e verificado.
