Migre seu site para VPS sem downtime
Como migrar site para VPS sem downtime (checklist completo)
Migração de servidor é uma das operações mais arriscadas se feita sem planejamento. Este guia organiza o processo em fases para garantir que seu site migre sem queda perceptível para os usuários.
Fase 1: inventário e preparação (1-2 dias antes)
Antes de tocar em qualquer servidor, documente:
- Aplicação: linguagem, framework, versão.
- Banco de dados: tipo, versão, tamanho atual.
- DNS: registros atuais (A, CNAME, MX, TXT).
- SSL: certificado atual e data de expiração.
- Dependências: serviços externos, APIs, filas.
- Cron jobs e scripts: automações que rodam no servidor atual.
Reduzir TTL do DNS
Pelo menos 24-48 horas antes da migração, reduza o TTL dos registros DNS para 300 segundos (5 minutos):
seusite.com.br A IP_ANTIGO TTL=300
Isso garante que, na hora da virada, a propagação DNS seja rápida.
Fase 2: configurar o VPS novo (1 dia antes)
- Configure o servidor do zero seguindo Como configurar VPS Ubuntu 24.04.
- Instale as mesmas dependências do ambiente antigo.
- Faça deploy da aplicação no VPS novo.
- Restaure uma cópia do banco de dados.
- Teste acessando pelo IP direto (sem DNS).
Checklist do ambiente novo
- [ ] Sistema operacional atualizado
- [ ] Firewall configurado
- [ ] Aplicação instalada e rodando
- [ ] Banco de dados restaurado
- [ ] SSL configurado (ou pronto para ativar)
- [ ] Backup funcionando
- [ ] Monitoramento ativo
Fase 3: virada controlada (dia D)
Passo a passo
- Freeze no ambiente antigo — pare de aceitar escritas no banco (se possível) ou coloque o site em modo manutenção breve.
- Sincronização final — exporte o banco atualizado e envie para o VPS novo.
- Restaure no VPS novo — importe o dump mais recente.
- Valide a aplicação — teste funcionalidades críticas acessando pelo IP do VPS novo.
- Altere o DNS — aponte os registros A para o IP do VPS novo.
- Ative SSL — se usar Let's Encrypt:
sudo certbot --nginx -d seusite.com.br. - Monitore — acompanhe métricas, logs e erros nas primeiras horas.
# Exemplo de sincronização final do banco (MySQL)
mysqldump -u root -p --single-transaction --all-databases | ssh usuario@IP_NOVO "mysql -u root -p"
Fase 4: pós-migração (24-48 horas depois)
- Monitorar métricas — CPU, RAM, disco e tempo de resposta no VPS novo.
- Verificar erros — revisar logs da aplicação e do Nginx.
- Validar integrações — APIs, webhooks, e-mail, serviços externos.
- Confirmar backup — garantir que o backup está rodando no servidor novo.
- Manter servidor antigo — mantenha o ambiente antigo ativo por pelo menos 48h como fallback.
Plano de rollback
Se algo der errado durante a migração:
- Aponte o DNS de volta para o IP do servidor antigo.
- Com TTL baixo, a reversão propaga em minutos.
- Investigue o problema no VPS novo sem pressão.
- Tente novamente quando a causa for resolvida.
Perguntas frequentes (FAQ)
Migração sempre causa downtime?
Com planejamento adequado e TTL baixo, o downtime percebido pode ser de segundos a poucos minutos — imperceptível para a maioria dos usuários.
Posso migrar banco de dados grande sem parar o site?
Para bancos muito grandes, considere replicação master-slave: o banco novo recebe atualizações em tempo real do antigo. Na virada, você apenas promove o novo a master.
E-mail é afetado pela migração?
Se os registros MX não mudam, o e-mail não é afetado. Confirme que os registros MX, SPF, DKIM e DMARC estão corretos antes da virada.
Próximos passos
- Proteja o ambiente com Backup automático 3-2-1
- Configure o servidor base com VPS Ubuntu 24.04
- Monitore a saúde com Monitoramento com Netdata
Actualizado em: 16/03/2026
Obrigado!
