Close Menu
  • Como Fazer
  • IA
  • Marketing
  • Monetização
  • Tecnologia da Web
    • Hospedagem Web
    • Plugins WordPress
    • SEO
    • Servidores Web
    • Sites de Blogs
    • Temas WordPress
  • Tudo
  • Docs
Facebook X (Twitter) Instagram Threads
Temas Blog
  • Como Fazer
  • IA
  • Marketing
  • Monetização
  • Tecnologia da Web
    • Hospedagem Web
    • Plugins WordPress
    • SEO
    • Servidores Web
    • Sites de Blogs
    • Temas WordPress
  • Tudo
  • Docs
Temas Blog
Home - Tecnologia da Web - Servidores Web

Como Configurar o Nginx no Almalinux Para Funcionar Com cPanel & WHM

adminBy adminmaio 15, 20269 Mins Read

Guia completo e testado para configurar o Nginx no Almalinux e que funcione em compatibilidade com com o cache em RAM cPanel e WHM. Também está incluindo integração com Cloudflare e 100/100 no PageSpeed.

Só nunca faça sem saber o que está fazendo de fato no seu servidor. Se não tem conhecimento, procure um profissional com experiência para manusear seu servidor.

Índice do Conteúdo
  1. O Que é o Nginx no Contexto do cPanel
  2. Entendendo a Arquitetura do ea-nginx no cPanel
  3. Estrutura de Diretórios do ea-nginx no cPanel
  4. O Guia para Configurar o Nginx no Almalinux
    1. Passo 1: Descobrir o Usuário Correto do cPanel
    2. Passo 2: Criar os Diretórios Necessários
    3. Passo 3: Configurar o nginx.conf Principal
    4. Passo 4: Criar a Zona de Cache Global
    5. Passo 5: Criar as Regras de Cache do Site
    6. Passo 6: Integração com Cloudflare (IP Real dos Visitantes)
    7. Passo 7: Validar a Configuração
    8. Passo 8: Aplicar a Configuração via cPanel
    9. Passo 9: Testar se o Cache Está Funcionando
    10. Passo 10: Limpar o Cache Quando Necessário
  5. Convivência com o WP Fastest Cache
  6. Referência Rápida de Comandos

O Que é o Nginx no Contexto do cPanel

O Que é o Nginx no Contexto do cPanel

O cPanel opera nativamente com o Apache como servidor web principal. A integração do Nginx nesse ambiente funciona no modelo de proxy reverso: o Nginx fica na frente recebendo todas as requisições HTTP/HTTPS e repassa ao Apache apenas o que exige processamento dinâmico (PHP, CGI), enquanto serve arquivos estáticos diretamente, sem passar pelo Apache.

O resultado prático é uma redução significativa no consumo de memória e no tempo de resposta, especialmente em servidores com múltiplos sites.

Entendendo a Arquitetura do ea-nginx no cPanel

O cPanel utiliza o ea-nginx (EasyApache 4 Nginx) como proxy reverso na frente do Apache. O fluxo de requisição funciona assim:

Visitante → Cloudflare → Nginx (porta 443) → Apache (porta interna) → PHP/WordPress

O Nginx não processa PHP diretamente nesse ambiente: ele recebe a requisição, verifica se tem uma cópia em cache e, se não tiver, repassa ao Apache que processa o PHP. O resultado fica salvo na RAM para as próximas requisições.

Um ponto crítico que diferencia esse ambiente de uma instalação comum: as diretivas de configuração têm lugares específicos onde podem e onde não podem ser declaradas. Colocar uma diretiva no arquivo errado gera o erro not allowed here e impede o servidor de carregar a nova configuração.

Estrutura de Diretórios do ea-nginx no cPanel

Antes de qualquer configuração, é importante entender onde cada coisa fica:

/etc/nginx/
├── nginx.conf                          ← configuração principal (bloco http)
├── conf.d/
│   ├── ea-nginx.conf                   ← gerado pelo cPanel, não edite
│   ├── default.conf                    ← proxy interno do painel cPanel
│   ├── global_cache.conf               ← CRIAMOS AQUI (zona de cache global)
│   ├── brotli.conf
│   ├── gzip.conf
│   ├── http2.conf
│   └── users/
│       └── <seu_usuario>/              ← pasta do seu usuário cPanel
│           └── seudominio.com/
│               └── custom_cache.conf   ← CRIAMOS AQUI (regras do site)

O Guia para Configurar o Nginx no Almalinux

Passo 1: Descobrir o Usuário Correto do cPanel

Esse é o erro que derruba mais gente. O diretório de customização do Nginx usa o nome do usuário cPanel, não o nome do domínio.

Para descobrir o nome correto, liste as pastas que o cPanel já criou:

ls /etc/nginx/conf.d/users/

O nome que aparecer (exemplo: user11, user-99, site1) é o que você vai usar em todos os comandos a seguir. Nunca chute o nome: use o que o ls mostrar.

Passo 2: Criar os Diretórios Necessários

Com o nome do usuário em mãos, crie a pasta para o domínio que vai receber a configuração de cache:

mkdir -p /etc/nginx/conf.d/users/SEUUSUARIO/seudominio.com/

Substitua SEUUSUARIO pelo nome que apareceu no ls e seudominio.com pelo seu domínio real.

Para confirmar que o diretório foi criado corretamente:

ls /etc/nginx/conf.d/users/SEUUSUARIO/

Se precisar apagar o diretório (por exemplo, se digitou o nome errado):

Digamos que você digitou o caminho e no usuário /NOMEERRADO.com, então cole e ess comando e altere NOMEERRADO.com para o nome da pasta que você criou errada.

rm -rf /etc/nginx/conf.d/users/NOMEERRADO.com/

O rm -rf remove o diretório e tudo dentro dele. Sempre confirme o caminho com ls antes de rodar esse comando.

Passo 3: Configurar o nginx.conf Principal

Esse arquivo controla as configurações globais do servidor. Você vai abrir, limpar o conteúdo atual e colar o bloco completo abaixo.

Abra o arquivo:

nano /etc/nginx/nginx.conf

Para limpar o conteúdo atual no nano:

Posicione o cursor na primeira linha e pressione Alt + T e veja se limpou todo o comteúdo. Ou Ctrl + K repetidamente (linha por linha) até o arquivo ficar vazio. Depois cole o novo conteúdo.

Cole exatamente este bloco:

include /etc/nginx/conf.d/modules/*.conf;

user nobody;
worker_processes auto;
worker_shutdown_timeout 10s;
worker_rlimit_nofile 65536;

error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;

events {
    worker_connections 1024;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log main;

    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_tokens off;

    fastcgi_buffers 16 16k;
    fastcgi_buffer_size 32k;

    include /etc/nginx/conf.d/*.conf;
}

Salve com Ctrl + O, confirme com Enter e saia com Ctrl + X.

Por que não colocar o proxy_cache_path aqui: o nginx.conf principal no cPanel é gerenciado pelo ea-nginx e o include /etc/nginx/conf.d/*.conf vai carregar automaticamente o arquivo de zona de cache que criaremos no próximo passo. Manter o nginx.conf limpo evita conflitos com atualizações automáticas do cPanel.

Passo 4: Criar a Zona de Cache Global

A declaração da zona de cache (proxy_cache_path) só pode ficar dentro do bloco http { }. No ea-nginx, o lugar correto para isso é um arquivo dentro de /etc/nginx/conf.d/, que é incluído automaticamente pelo nginx.conf.

Crie o arquivo:

nano /etc/nginx/conf.d/global_cache.conf

Cole este conteúdo:

proxy_cache_path /var/run/nginx-cache-SEUUSUARIO levels=1:2 keys_zone=meu_cache:10m inactive=60m;

Substitua SEUUSUARIO por algo relacionado ao seu usuário para identificar facilmente (exemplo: nginx-cache-zedasilva). O nome da zona meu_cache pode ser qualquer nome, desde que não conflite com zonas que o cPanel já criou.

Por que não usar o nome “WORDPRESS”: o cPanel com ea-nginx já declara internamente uma zona com esse nome em algum de seus arquivos automáticos. Usar o mesmo nome gera o erro the shared memory zone "WORDPRESS" is already declared for a different use, que impede o Nginx de carregar.

Salve com Ctrl + O, Enter, Ctrl + X.

Passo 5: Criar as Regras de Cache do Site

Agora crie o arquivo dentro da pasta do usuário que será carregado especificamente para o seu domínio:

nano /etc/nginx/conf.d/users/SEUUSUARIO/seudominio.com/custom_cache.conf

Cole exatamente este conteúdo:

# Usa a zona de cache definida no global_cache.conf
proxy_cache meu_cache;
proxy_cache_valid 200 301 302 10m;
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;

# Header para confirmar se a página veio do cache ou do PHP
add_header X-Cache-Status $upstream_cache_status;

# Não cacheia se o usuário estiver logado no WordPress
set $skip_cache 0;
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
    set $skip_cache 1;
}
proxy_cache_bypass $skip_cache;
proxy_no_cache $skip_cache;

Salve com Ctrl + O, Enter, Ctrl + X.

O que cada bloco faz:

proxy_cache meu_cache instrui o Nginx a usar a zona de RAM que declaramos no global_cache.conf. proxy_cache_valid 10m define que a cópia em RAM dura 10 minutos antes de precisar buscar novamente no PHP. proxy_cache_use_stale garante que, se o PHP ou o Apache demorar a responder, o Nginx entrega a versão antiga do cache em vez de mostrar erro para o visitante. O bloco $skip_cache garante que você, quando logado no WordPress, sempre veja a versão real e atualizada do site.

Passo 6: Integração com Cloudflare (IP Real dos Visitantes)

Quando o tráfego passa pelo Cloudflare, o IP real do visitante chega ao servidor dentro do header CF-Connecting-IP. Sem configuração específica, seus logs e regras de firewall registram apenas os IPs da Cloudflare.

Crie o arquivo de IPs da Cloudflare:

nano /etc/nginx/conf.d/cloudflare_ips.conf

Cole este conteúdo:

# IPs da Cloudflare — atualize periodicamente em cloudflare.com/ips
set_real_ip_from 103.21.244.0/22;
set_real_ip_from 103.22.200.0/22;
set_real_ip_from 103.31.4.0/22;
set_real_ip_from 104.16.0.0/13;
set_real_ip_from 104.24.0.0/14;
set_real_ip_from 108.162.192.0/18;
set_real_ip_from 131.0.72.0/22;
set_real_ip_from 141.101.64.0/18;
set_real_ip_from 162.158.0.0/15;
set_real_ip_from 172.64.0.0/13;
set_real_ip_from 173.245.48.0/20;
set_real_ip_from 188.114.96.0/20;
set_real_ip_from 190.93.240.0/20;
set_real_ip_from 197.234.240.0/22;
set_real_ip_from 198.41.128.0/17;
set_real_ip_from 2400:cb00::/32;
set_real_ip_from 2606:4700::/32;
set_real_ip_from 2803:f800::/32;
set_real_ip_from 2405:b500::/32;
set_real_ip_from 2405:8100::/32;
set_real_ip_from 2a06:98c0::/29;
set_real_ip_from 2c0f:f248::/32;

real_ip_header CF-Connecting-IP;

Salve e saia.

Passo 7: Validar a Configuração

Esse passo é obrigatório antes de qualquer restart. O nginx -t testa a sintaxe de todos os arquivos sem aplicar nada. Se ele detectar qualquer erro, o servidor continua rodando com a configuração antiga:

nginx -t

A resposta esperada:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Se aparecer qualquer linha com [emerg] ou failed, o erro vai indicar exatamente o arquivo e a linha do problema. Os erros mais comuns são:

already declared for a different use significa que o nome da zona de cache está repetido. Mude o nome em global_cache.conf e custom_cache.conf para algo único.

directive is not allowed here significa que uma diretiva foi colocada no arquivo de usuário em vez do arquivo global. A proxy_cache_path só pode ficar em global_cache.conf, nunca no custom_cache.conf.

no such file or directory significa que o caminho do diretório de cache na RAM ainda não existe ou o Nginx não tem permissão de escrita.

Passo 8: Aplicar a Configuração via cPanel

Após o nginx -t confirmar que está tudo correto, use o script do cPanel para aplicar:

/usr/local/cpanel/scripts/ea-nginx config zedasilva

Substitua zedasilva pelo seu usuário real. Se o cursor simplesmente voltar para a linha de comando sem mensagem de erro, o comando foi executado com sucesso. No ea-nginx, silêncio significa sucesso.

Para aplicar para todos os usuários do servidor de uma vez:

/usr/local/cpanel/scripts/ea-nginx config --all

Para verificar o status do serviço:

/usr/local/cpanel/scripts/restartsrv_nginx status

Passo 9: Testar se o Cache Está Funcionando

Como o Cloudflare intercepta as requisições externas, o teste mais confiável é bater direto no servidor local ignorando o proxy:

curl -I -k -H "Host: www.seudominio.com" https://127.0.0.1

Rode o comando duas vezes. O resultado esperado:

Na primeira execução aparece x-cache-status: MISS. Isso significa que o Nginx foi buscar a página no Apache/PHP porque ainda não tinha cópia em cache.

Na segunda execução aparece x-cache-status: HIT. Isso confirma que a página foi entregue direto da memória RAM, sem passar pelo PHP.

O HIT é a confirmação de que o cache está funcionando.

Passo 10: Limpar o Cache Quando Necessário

Para limpar o cache do site após publicar uma atualização importante antes dos 10 minutos expirarem:

/usr/local/cpanel/scripts/ea-nginx clear_cache zedasilva

Para limpar o cache de todos os sites no servidor:

/usr/local/cpanel/scripts/ea-nginx clear_cache --all

Convivência com o WP Fastest Cache

Com o Nginx cuidando do cache de servidor, o papel do WP Fastest Cache muda. O plugin continua útil para duas funções específicas que o Nginx não controla diretamente.

O cache de navegador instrui o browser do visitante a guardar imagens, CSS e JavaScript por 30 dias localmente. Isso reduz o tempo de carregamento nas visitas seguintes e impacta diretamente o LCP no PageSpeed Insights.

O Gzip garante que o HTML saia compactado do WordPress antes de chegar ao Nginx, reduzindo o tamanho do payload.

O que deve ser desativado no plugin para não gerar trabalho duplicado é o cache de página (Page Cache / Preload), que agora é responsabilidade do Nginx, e o Minify HTML/CSS, que fica melhor sendo feito via Cloudflare ou diretamente no tema.

Referência Rápida de Comandos

AçãoComando
Validar configuraçãonginx -t
Aplicar config de um usuário/usr/local/cpanel/scripts/ea-nginx config USUARIO
Aplicar config de todos/usr/local/cpanel/scripts/ea-nginx config --all
Status do Nginx/usr/local/cpanel/scripts/restartsrv_nginx status
Limpar cache de um usuário/usr/local/cpanel/scripts/ea-nginx clear_cache USUARIO
Limpar cache de todos/usr/local/cpanel/scripts/ea-nginx clear_cache --all
Testar cache localcurl -I -k -H "Host: seudominio.com" https://127.0.0.1
Listar usuários cPanells /etc/nginx/conf.d/users/
Ver configuração ativanginx -T | grep proxy_cache
Almalinux 9 Nginx Servidor Dedicado
Share. Facebook Twitter Pinterest LinkedIn Tumblr Email

Related Posts

Como Pausar o Cache Redis no Almalinux: Guia Completo com Exemplos

maio 15, 2026

Qual Item é Mais Importante na Hospedagem VPS e no Servidor Dedicado

maio 15, 2026

Como Limpar o Cache de Memória no servidor Almalinux

dezembro 3, 2025

Otimizar o Servidor AlmaLinux para Web

agosto 23, 2025

Devo Desinstalar Memcached do Servidor ou Apenas Parar e Usar Redis e Varnish?

agosto 17, 2025

Instalar e Configurar Memcached no VPS 8 vCPU e 32 GB RAM

agosto 16, 2025
Leave A Reply Cancel Reply

  • Mais Lidos
  • Mais Novos

Como o WordPress se tornou tão popular para criadores de sites

dezembro 5, 2024

O melhor CMS para gerenciar um site: top 4

dezembro 5, 2024

Qual Item é Mais Importante na Hospedagem VPS e no Servidor Dedicado

maio 15, 2026

Como exibir postagens relacionadas no tema GeneratePress?

dezembro 5, 2024

Como criar um blog de marketing de afiliados

dezembro 5, 2024

Como Configurar o Nginx no Almalinux Para Funcionar Com cPanel & WHM

maio 15, 2026

Google Mudou os Parâmetros de SEO por UX e E-E-A-T: Fique Atento!

maio 15, 2026

Como Pausar o Cache Redis no Almalinux: Guia Completo com Exemplos

maio 15, 2026

Qual Item é Mais Importante na Hospedagem VPS e no Servidor Dedicado

maio 15, 2026

AFFI Afiliados: Melhor Plugin WordPress Para Ganhar Dinheiro com Amazon Associados

fevereiro 13, 2026
Facebook X (Twitter) Instagram Pinterest
© 2026 - TemasBlog.

Type above and press Enter to search. Press Esc to cancel.