Migração de Hospedagem Compartilhada para VPS Linux com LEMP

8 min de leitura VPS e Cloud
Migração de Hospedagem Compartilhada para VPS Linux com LEMP

A migração de um site WordPress ou WooCommerce de uma hospedagem compartilhada para um ambiente VPS Linux representa um salto significativo em termos de performance, controle e escalabilidade. Enquanto a hospedagem compartilhada oferece conveniência inicial, ela limita o uso de recursos e a capacidade de otimização profunda. Ao migrar para um servidor privado virtual, você assume o controle total da pilha tecnológica, permitindo a implementação de stacks como LEMP (Linux, Nginx, MySQL/MariaDB, PHP) ou ambientes com OpenLiteSpeed, além de integrar cache Redis para reduzir drasticamente os tempos de resposta do banco de dados.

Este tutorial guia sysadmins, desenvolvedores e profissionais de TI por todo o processo técnico de migração, desde o provisionamento inicial até a configuração avançada de cache e validação final. O foco é garantir zero downtime ou um período de indisponibilidade mínimo, mantendo a integridade dos dados e a otimização para WordPress (otimização WP).

Etapa 1: Preparação do Ambiente VPS Linux

O primeiro passo consiste em provisionar o servidor. Recomenda-se utilizar uma distribuição LTS (Long Term Support) como Ubuntu 22.04 ou Debian 12, devido à vasta documentação e estabilidade para servidores web. Após acessar o painel de controle da sua provedora de cloud, realize o login via SSH no novo servidor.

Inicialmente, atualize o sistema operacional e crie um usuário com privilégios sudo para evitar operar diretamente como root, seguindo as melhores práticas de segurança.

sudo apt update && sudo apt upgrade -y
sudo adduser adminuser
sudo usermod -aG sudo adminuser

Configure o firewall básico (UFW) para liberar apenas as portas essenciais: HTTP (80), HTTPS (443) e SSH (22). Isso reduz a superfície de ataque antes mesmo de instalar os serviços web.

sudo ufw allow OpenSSH
sudo ufw allow 'Nginx Full'
sudo ufw enable

Etapa 2: Instalação da Pilha LEMP e Otimizações Básicas

A instalação da stack LEMP é o coração do novo ambiente. No entanto, para sites WordPress modernos, a configuração padrão não é suficiente. É necessário ajustar parâmetros do PHP e do banco de dados para suportar cargas mais altas.

Instale Nginx, MariaDB e PHP-FPM (versão 8.1 ou superior). Para ambientes que priorizam compatibilidade extrema com plugins de cache proprietários, o OpenLiteSpeed é uma alternativa válida, mas a stack LEMP com Nginx continua sendo o padrão da indústria para flexibilidade.

sudo apt install nginx mariadb-server php-fpm php-mysql php-curl php-gd php-intl php-mbstring php-soap php-xml php-xmlrpc php-zip

Após a instalação, é crucial otimizar o PHP. Edite o arquivo de configuração do seu pool PHP (geralmente localizado em /etc/php/8.1/fpm/pool.d/www.conf) e ajuste parâmetros como memory_limit, max_execution_time e, principalmente, as configurações de OPcache para acelerar a execução dos scripts PHP.

Etapa 3: Configuração do Banco de Dados e Cache Redis

Migre o banco de dados da hospedagem antiga. Exporte-o utilizando ferramentas como phpMyAdmin ou WP-CLI no servidor antigo, e importe no novo servidor MariaDB.

# No servidor antigo
wp db export /tmp/backup.sql --allow-root

# No novo servidor VPS
mysql -u root -p wordpress_db < /tmp/backup.sql

Para a otimização WP, a instalação do módulo de cache Redis é indispensável. Ele armazena consultas ao banco de dados na memória RAM, reduzindo drasticamente o tempo de carregamento de páginas dinâmicas.

sudo apt install redis-server php-redis
sudo systemctl enable --now redis-server

Configure o PHP para usar o Redis como backend de sessões e cache. Isso requer a instalação do plugin "Redis Object Cache" no WordPress, que deve ser ativado e conectado ao servidor local (localhost).

Etapa 4: Configuração do Servidor Web (Nginx ou OpenLiteSpeed)

A configuração do servidor web difere dependendo da stack escolhida. Para Nginx, crie um arquivo de bloco de servidor em /etc/nginx/sites-available/seusite.com. A configuração deve incluir redirecionamento permanente de HTTP para HTTPS, compressão Gzip/Brotli e regras de cache estático.

Se estiver utilizando OpenLiteSpeed, a interface web administrativa facilita a criação do virtual host. Certifique-se de configurar o Document Root corretamente e ativar o módulo LiteSpeed Cache, que é altamente eficiente para WordPress.

# Exemplo básico de bloco Nginx com SSL
server {
    listen 80;
    server_name seu-domínio.com www.seu-domínio.com;
    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name seu-domínio.com;
    
    # Configurações de SSL, caminhos de raiz e localização PHP aqui
    # ...
}

Teste a configuração antes de recarregar o serviço para evitar erros de sintaxe que deixariam o site fora do ar.

sudo nginx -t
sudo systemctl reload nginx

Etapa 5: Migração de Arquivos e Permissões

A migração dos arquivos pode ser feita via rsync para manter permissões e estruturas de diretórios intactas. Isso é preferível ao uso de FTP, que pode alterar permissões ou corromper symlinks.

rsync -avz --progress /caminho/origem/site/ usuario@seu-ip-vps:/var/www/seusite.com/html/

Após a cópia, ajuste as permissões de arquivos e diretórios. No WordPress, os arquivos devem ser propriedade do usuário do sistema (geralmente www-data) ou do usuário administrativo, dependendo da configuração de atualização automática. A estrutura padrão recomendada é:

  • Diretórios: permissão 755
  • Arquivos: permissão 644
  • wp-config.php: permissão 600 (restrição máxima)
sudo chown -R www-data:www-data /var/www/seusite.com/html
sudo find /var/www/seusite.com/html -type d -exec chmod 755 {} \;
sudo find /var/www/seusite.com/html -type f -exec chmod 644 {} \;

Etapa 6: Validação e Plugins Essenciais

Antes de apontar o DNS, valide o funcionamento do site usando o IP público do VPS. Edite temporariamente seu arquivo hosts local para mapear o domínio ao novo IP.

# No terminal local (Linux/Mac)
echo "192.0.2.1 seu-domínio.com" | sudo tee -a /etc/hosts

Navegue até o site e verifique se todas as funcionalidades, incluindo uploads de mídia e login administrativo, estão operando. Instale plugins essenciais para monitoramento e segurança no novo ambiente:

  • Wordfence ou iThemes Security: Para proteção contra invasões.
  • Redis Object Cache: Para garantir que o cache de banco de dados está ativo.
  • WP-Optimize: Para limpeza de banco de dados e otimização de imagens.

Se você gerencia múltiplos sites, considere usar WP-CLI para gerenciar atualizações e backups em lote. A ferramenta é poderosa para automação e evita erros manuais.

wp plugin list --allow-root
wp core update-db --allow-root

Etapa 7: Cutover de DNS e Verificação Final

Reduza o TTL (Time To Live) do registro A ou CNAME do seu domínio para um valor baixo (ex: 300 segundos) algumas horas antes da migração. Isso permite que a propagação do DNS ocorra rapidamente.

Atualize o registro de DNS no seu registrador de domínios para apontar para o IP do novo VPS. Aguarde a propagação, que pode variar de minutos a horas, dependendo da infraestrutura global.

Após a propagação, verifique se o SSL está funcionando corretamente. Se estiver usando Let's Encrypt, certifique-se de renovar os certificados automaticamente usando Certbot.

sudo certbot --nginx -d seu-domínio.com -d www.seu-domínio.com

Realize testes finais de performance utilizando ferramentas como GTmetrix ou PageSpeed Insights. O objetivo é verificar se o cache Redis e a configuração do Nginx/OpenLiteSpeed estão entregando os recursos otimizados.

Considerações Finais sobre Multisite e Escalabilidade

Para usuários de WordPress Multisite, a migração requer atenção especial às configurações de subdomínios e subsites. A estrutura de banco de dados é diferente, e plugins de cache precisam ser configurados para lidar com a rota correta entre sites.

A migração para VPS não é apenas uma mudança de servidor, mas uma oportunidade para reestruturar a arquitetura de infraestrutura. Ao dominar a configuração da stack LEMP, OpenLiteSpeed e cache Redis, você garante que seu WordPress ou WooCommerce esteja preparado para picos de tráfego, oferecendo uma experiência de usuário superior e maior segurança.

Lembre-se sempre de manter backups automáticos no novo servidor. Utilize scripts cron ou plugins dedicados para realizar cópias diárias do banco de dados e dos arquivos, enviando-os para um armazenamento externo seguro como S3 ou Google Cloud Storage.

Compartilhar: Link copiado!
Esse tutorial foi útil?

Comentários (0)

Seja o primeiro a comentar.

Deixe seu comentário

Seu comentário será analisado antes de ser publicado.

0/2000