Como Resolver Erro 500 no Nginx (Guia Técnico)

500 internal server error nginx

Erro 500 no Nginx: Como Corrigir Internal Server Error no Servidor

O erro 500 no Nginx (Internal Server Error) é um dos problemas mais críticos em servidores Linux, pois indica uma falha interna que impede o processamento da requisição. Além de derrubar o site, esse erro afeta diretamente o SEO, causando perda de indexação, queda de posições no Google e redução de conversões.

Neste guia completo, você aprenderá como identificar, corrigir e prevenir erro 500 no Nginx, com exemplos práticos, comandos reais e foco especial em WordPress, PHP-FPM e performance.


O que é o erro 500 no Nginx?

O erro 500 é retornado quando o Nginx recebe uma requisição válida, mas algo falha no backend — normalmente PHP-FPM, permissões, configuração ou a própria aplicação.

O que significa Internal Server Error

“Internal Server Error” significa que o servidor não conseguiu concluir a requisição, mas não pode expor detalhes ao usuário por segurança.

Diferença entre erro 500 no Nginx e no Apache

  • Apache: geralmente mostra mensagens mais explícitas
  • Nginx: erro mais silencioso, depende totalmente de logs

➡️ No Nginx, log é tudo.

Quando o erro 500 afeta SEO e indexação

  • Googlebot recebe falha ao rastrear páginas
  • URLs entram em crawl error
  • Se persistir, ocorre desindexação parcial
  • Sites instáveis perdem confiança algorítmica

Principais causas do erro 500 no Nginx

PHP-FPM parado ou mal configurado

Essa é a causa mais comum.

Sintomas:

  • Site em branco
  • Erro 500 imediato
  • Logs com connect() failed

Verificação:

systemctl status php8.2-fpm

Reinício:

systemctl restart php8.2-fpm

Permissões incorretas de arquivos e pastas

Permissões erradas impedem o Nginx de acessar scripts PHP.

Padrão seguro:

em chown utilize usuário e grupo da conta
em /var/www/site altere para a home da conta

find /var/www/site -type d -exec chmod 755 {} \;
find /var/www/site -type f -exec chmod 644 {} \;
chown -R www-data:www-data /var/www/site

❌ Nunca use 777.


Plugins ou temas com erro fatal (WordPress)

Atualizações mal testadas são uma causa frequente.

Erro típico:

  • Plugin chama função inexistente
  • Incompatibilidade com PHP 8.x

Limites de memória e timeout do PHP

Quando o PHP estoura limites, o Nginx retorna erro 500.

Parâmetros críticos:

memory_limit = 256M
max_execution_time = 120

Como corrigir erro 500 no Nginx passo a passo

Verificando o error.log do Nginx

Esse é o primeiro passo obrigatório.

tail -f /var/log/nginx/error.log

Procure por:

  • FastCGI sent in stderr
  • Permission denied
  • Primary script unknown

Reiniciando e testando o PHP-FPM

Após qualquer ajuste:

systemctl restart php-fpm
systemctl status php-fpm

Corrigindo permissões de forma segura

Confirme:

  • Dono correto (www-data, nginx ou usuário do site)
  • Sem permissões excessivas

Testando configurações com nginx -t

Nunca recarregue sem testar:

nginx -t

Erro 500 no Nginx em WordPress

Como desativar plugins via terminal (WordPress)

Quando o erro 500 no Nginx impede o acesso ao painel administrativo do WordPress, a forma mais rápida e segura de recuperar o site é desativar os plugins diretamente pelo terminal. Esse método ignora completamente o wp-admin e funciona mesmo com o site fora do ar.

Essa técnica é ideal para identificar plugins incompatíveis, atualizações com erro fatal ou conflitos com PHP-FPM.


Método 1: Desativar todos os plugins via terminal (mais rápido)

Esse é o método mais usado em ambientes de produção.

1️⃣ Acesse o servidor via SSH
2️⃣ Navegue até o diretório do site:

cd /var/www/seusite.com/public_html/wp-content/

3️⃣ Renomeie a pasta de plugins:

mv plugins plugins.off

🔹 Resultado imediato:

  • WordPress ignora todos os plugins
  • O site volta ao ar se o erro for causado por plugin
  • Não há perda de dados

Depois do teste:

mv plugins.off plugins

Ative os plugins um por um para identificar o causador do erro 500.


Método 2: Desativar plugins usando WP-CLI (recomendado)

Se o WP-CLI estiver instalado, este é o método mais limpo e profissional.

Desativar todos os plugins:

wp plugin deactivate --all

Desativar plugin específico:

wp plugin deactivate nome-do-plugin

Listar plugins ativos:

wp plugin list

✔ Não quebra caminhos
✔ Mantém controle fino
✔ Ideal para ambientes gerenciados


Método 3: Desativar plugins via banco de dados (último recurso)

Use apenas se SSH ou WP-CLI não estiverem disponíveis.

1️⃣ Acesse o MySQL/MariaDB:

mysql -u root -p

2️⃣ Selecione o banco:

USE banco_wordpress;

3️⃣ Limpe os plugins ativos:

UPDATE wp_options 
SET option_value = 'a:0:{}' 
WHERE option_name = 'active_plugins';

⚠️ Atenção:

  • Confirme o prefixo correto (wp_)
  • Faça backup antes

Qual método usar?

SituaçãoMétodo recomendado
Erro 500 críticoRenomear pasta
Ambiente profissionalWP-CLI
Sem acesso a arquivosBanco de dados

Dica SEO e estabilidade

Plugins quebrados causam:

  • Erro 500 recorrente
  • Falha de rastreamento
  • Queda de ranking

➡️ Sempre teste plugins em staging antes de atualizar.


Erros comuns ao desativar plugins

  • Esquecer permissões da pasta
  • Plugin MU (mu-plugins) ainda ativo
  • Cache de servidor mascarando erro
  • Opcode cache (OPcache) não limpo

Limpe se necessário:

systemctl restart php-fpm

Conclusão

Desativar plugins via terminal é a forma mais rápida e confiável de recuperar um WordPress com erro 500 no Nginx. Em ambientes profissionais, WP-CLI deve ser padrão, reduzindo downtime e impacto no SEO.


Problemas comuns com .htaccess em proxy reverso

Em ambientes Nginx + Apache, regras inválidas no .htaccess causam falhas no backend.

Teste:

mv .htaccess .htaccess.bak

Cache e conflito com PHP-FPM

Plugins de cache + cache de servidor mal alinhados podem:

  • Estourar memória
  • Gerar timeout
  • Retornar erro 500 intermitente

Como evitar erro 500 no Nginx (boas práticas)

Monitoramento proativo do servidor

Use:

  • Zabbix(necessário ter um servidor a parte)
  • HetrixTools(possui plano free para monitorar palavra chave no site)
  • Monitoramento de PHP-FPM

Configuração Nginx estável para PHP

Exemplo seguro:

location ~ \.php$ {
    include fastcgi_params;
    fastcgi_pass unix:/run/php/php8.2-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_read_timeout 300;
}

Ajustes de performance e segurança

  • Limite de workers correto
  • PHP atualizado
  • Logs rotacionados

Impacto do erro 500 nos Core Web Vitals

  • Aumenta INP
  • Derruba LCP
  • Google detecta instabilidade

Erro 500 no Nginx prejudica o SEO?

Como o Google interpreta erro 500

  • Falha temporária: tolerável
  • Falha recorrente: perda de confiança

Quanto tempo um erro 500 afeta rankings

  • Minutos: sem impacto
  • Horas recorrentes: queda leve
  • Dias: queda severa e desindexação

Boas práticas para evitar penalizações

  • Resolver rápido
  • Monitorar uptime e palavra chave no site
  • Não mascarar erro com 200 fake

Conclusão

O erro 500 no Nginx não é apenas um problema técnico — é um risco direto para SEO, performance e faturamento. A maioria dos casos está ligada a PHP-FPM, permissões ou configurações incorretas, e pode ser resolvida rapidamente com diagnóstico correto.

Com logs bem analisados, configuração estável e monitoramento ativo, é possível eliminar erros 500 e manter o site saudável para usuários e para o Google.