Checklist de otimização Nginx PHP-FPM MariaDB . A otimização de um servidor web vai muito além de instalar Nginx, PHP-FPM e MariaDB. Um ajuste incorreto pode gerar alto TTFB, consumo excessivo de RAM, lentidão em horários de pico e até quedas inesperadas.
Neste guia você encontrará um checklist avançado de otimização, usado em ambientes de produção com WordPress, focado em performance, estabilidade e escalabilidade.
1. Otimização do Sistema Operacional Linux
Antes de ajustar a stack web, o sistema precisa estar preparado.
Ajustes essenciais no Kernel
- Reduzir uso de swap
- Melhorar gerenciamento de cache
- Aumentar limites de conexões simultâneas
Edite com : nano /etc/sysctl.conf e insira o código abaixo.
vm.swappiness = 10 vm.vfs_cache_pressure = 50 net.core.somaxconn = 65535
👉 Saia do nano e aplique as alterações com: sysctl -e -p /etc/sysctl.conf
👉 Impacto direto no SEO: melhora o tempo de resposta inicial (TTFB).
2. Checklist de Otimização do Nginx
O Nginx é responsável por atender milhares de requisições simultâneas.
Configurações recomendadas
worker_processes autoworker_connections≥ 4096- Uso de
epoll - Keepalive ajustado
worker_processes auto;
events {
worker_connections 4096;
use epoll;
multi_accept on;
}
Compressão (Gzip / Brotli)
Ativar compressão reduz o tamanho das respostas e melhora o PageSpeed.
3. Cache FastCGI no Nginx (WordPress)
Um dos maiores ganhos de performance para WordPress.
Benefícios
- Redução drástica de carga no PHP
- Menor uso de CPU e RAM
- Melhor tempo de carregamento
Definir o caminho do Cache
Primeiro, você precisa definir onde os arquivos de cache serão armazenados. Isso deve ser feito fora do bloco server, geralmente dentro do bloco http no arquivo nginx.conf.
Nginx:
fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=MEU_CACHE:100m inactive=60m; fastcgi_cache_key "$scheme$request_method$host$request_uri";
- levels=1:2: Cria uma hierarquia de diretórios para não sobrecarregar uma única pasta.
- keys_zone: Nomeia a zona de memória (
MEU_CACHE) e define o tamanho (100MB armazena muitas chaves). - inactive: Remove itens que não foram acessados nos últimos 60 minutos.
Aplicar o Cache no Bloco de Localização
Agora, dentro do seu arquivo de configuração do site (bloco server), você aplica as regras onde o FastCGI é processado.
Nginx:
server {
# ... outras configurações ...
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
# Ativação do Cache
fastcgi_cache MEU_CACHE;
fastcgi_cache_valid 200 301 302 60m;
fastcgi_cache_use_stale error timeout updating invalid_header http_500;
# Cabeçalho para debug (opcional, mas recomendado)
add_header X-FastCGI-Cache $upstream_cache_status;
}
}
O que essas diretivas fazem?
- fastcgi_cache_valid: Define o tempo de cache por código de status (ex: cache de 60 min para respostas 200).
- fastcgi_cache_use_stale: Se o seu PHP cair, o Nginx entrega uma versão antiga (stale) que ainda está no cache em vez de exibir um erro 500.
- X-FastCGI-Cache: Adiciona um cabeçalho na resposta para você saber se o cache deu
HIT,MISSouBYPASS.
Quando NÃO fazer cache
Você não quer que usuários logados ou carrinhos de compras sejam cacheados. Adicione isto antes do bloco location:
Nginx
set $skip_cache 0;
# Não cachear POSTs
if ($request_method = POST) {
set $skip_cache 1;
}
# Não cachear URLs com query string (opcional)
if ($query_string != "") {
set $skip_cache 1;
}
# Não cachear se houver cookies específicos (ex: WordPress, Painel Adm)
if ($http_cookie ~* "comment_author|wordpress_logged_in|wp-postpass|saved_user") {
set $skip_cache 1;
}
# Aplicar no location do PHP
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
Dica de Performance: RAM Disk
Para uma velocidade insana, aponte o fastcgi_cache_path para um diretório no tmpfs (RAM). Como a RAM é muito mais rápida que o SSD, o tempo de resposta cai drasticamente.
Nota: Não esqueça de testar a configuração com
nginx -te recarregar comsystemctl reload nginx.
👉 Resultado esperado: páginas carregando em menos de 200ms para visitantes.
4. Tuning Avançado do PHP-FPM
PHP-FPM mal configurado é uma das principais causas de lentidão.
Parâmetros críticos
pm = ondemandoudynamicpm.max_childrencalculado corretamente. clique aqui para PHP-FPM: Como Calcular pm.max_children Corretamente- Limite de requisições por processo
pm.max_requests = 500 pm.process_idle_timeout = 10s
OPcache php extensão (obrigatório)
Sem OPcache, o PHP recompila scripts a cada requisição.
opcache.enable=1 opcache.memory_consumption=256 opcache.validate_timestamps=0
5. Checklist de Otimização do MariaDB 11.x
O banco de dados é responsável pela maioria das consultas dinâmicas.
InnoDB (performance real)
innodb_buffer_pool_size= 60–70% da RAMinnodb_flush_log_at_trx_commit = 2- Query Cache desativado
Edite e insira: nano /etc/my.cnf
innodb_buffer_pool_size = 8G innodb_flush_method = O_DIRECT
Slow Query Log
Identifique gargalos reais no banco.
6. Redis como Cache de Objeto
O Redis reduz drasticamente consultas repetidas ao banco.
Configuração recomendada
- Política LRU
- Limite de memória definido
- Plugin Redis Object Cache no WordPress
👉 Impacto direto: menos queries, mais estabilidade sob carga.
7. Otimizações no WordPress (lado servidor)
- Desativar WP-Cron
- Criar cron real no sistema
- Reduzir Heartbeat
- Proteger XML-RPC
👉 Edite o wp-config.php e insira:
define('DISABLE_WP_CRON', true);
8. Segurança que melhora performance
Segurança mal configurada também causa lentidão.
Boas práticas
- CrowdSec e/ou Fail2ban
- Rate limit no Nginx
- Firewall com nftables
- ModSecurity apenas com regras ajustadas
9. Monitoramento Proativo
Servidor otimizado precisa ser monitorado.
Métricas essenciais
- Load Average
- PHP-FPM Queue
- Uso de RAM e swap
- Queries lentas
- I/O wait
Ferramentas recomendadas:
- Zabbix
- Netdata
- Prometheus
10. Testes de Performance e Validação
Antes e depois da otimização, valide os resultados.
wrkouabmysqltuner- PageSpeed Insights
- GTmetrix
htopeiotop
Benefícios Diretos para SEO
✔ Menor TTFB
✔ Melhor Core Web Vitals
✔ Menos erros 5xx
✔ Maior estabilidade em picos de tráfego
✔ Melhor indexação pelo Google
Conclusão
Seguir este checklist avançado de otimização de servidor web garante que sua stack Nginx + PHP-FPM + MariaDB opere no máximo desempenho, reduzindo custos e melhorando a experiência do usuário — fator crítico para SEO e conversão.

