Como corrigir mensagens de erro comuns do Nginx: um guia passo a passo

Publicados: 2023-06-05

Qual é o erro NGINX?

Um erro Nginx refere-se a um soluço ou falha que ocorre durante o uso do servidor web Nginx. Nginx é o servidor da web amplamente usado, no qual a maioria dos sites é confiável. No entanto, como qualquer software, ele pode encontrar erros que podem atrapalhar o bom funcionamento do seu site.

Por exemplo, pense nisso como um obstáculo na estrada que pode interromper o funcionamento normal do seu site ou de qualquer aplicativo da web. O Nginx, sendo um sistema de software muito complexo, às vezes pode ter problemas causados ​​por vários fatores. Como configurações incorretas, problemas que acontecem no lado do servidor, problemas de rede ou até mesmo erros cometidos pelo cliente.

Os erros do Nginx podem se manifestar de várias formas, algumas das quais você já deve conhecer. Por exemplo, isso inclui o 502 Bad Gateway Error nginx, 404 Not Found Error, 503 Service Unavailable Error, 504 Gateway Timeout Error, bem como erros de redirecionamento (301 e 302).

Para garantir uma experiência perfeita para os visitantes do seu site, é essencial lidar com os erros do nginx de maneira eficaz. O Nginx, o servidor web, encontra erros de vez em quando e os comunica usando códigos de erro específicos. Ao entender esses códigos, você pode identificar facilmente a natureza do problema e corrigi-los adequadamente.

Neste guia abrangente, vamos nos aprofundar nos erros comuns do Nginx, explorar suas causas e fornecer soluções práticas para ajudá-lo a solucionar e resolver esses problemas de forma eficaz.


Índice
Qual é o erro NGINX?
Alguns tipos comuns de erros do Nginx
O que causa um erro NGINX?
Como corrijo um erro do NGINX?
Como prevenir futuros erros do Nginx?
Resumo
perguntas frequentes

Alguns tipos comuns de erros do Nginx

Os erros do Nginx podem surgir de várias fontes, incluindo configurações incorretas, problemas do lado do servidor, problemas de rede ou solicitações do cliente. Vamos dar uma olhada em alguns tipos comuns de erros do Nginx que você pode encontrar:

Mensagens de erro e soluções comuns do Nginx:

1. 502 Erro de Gateway Inválido:

  • Causas: esse erro geralmente ocorre quando o Nginx atua como um proxy e falha ao receber uma resposta válida de um servidor upstream.
  • Soluções: para resolver isso, verifique a configuração do servidor upstream, verifique a conectividade de rede e certifique-se de que o servidor esteja operacional.

Leia: Como corrigir o erro 502 Bad Gateway NGINX? (7 Métodos)


2. Erro 404 não encontrado:

Quando você visita um site configurado com Nginx, ele se conecta com sucesso ao servidor do site, mas não consegue encontrar os recursos solicitados, como qualquer nome de arquivo ou URL. E esse tipo de mensagem de erro geralmente é acionado devido a problemas no arquivo de configuração.

  • Causas: Este erro indica que o recurso solicitado não foi encontrado no servidor.
  • Soluções: para resolver isso, verifique a existência do arquivo ou diretório nginx.conf, revise a configuração de URL e verifique se há problemas de distinção entre maiúsculas e minúsculas.

Leia: Como corrigir o erro 404 Not Found para sites WordPress e Android?


3. 503 Erro de serviço indisponível:

  • Causas: Este erro ocorre quando o servidor está temporariamente impossibilitado de lidar com as solicitações.
  • Soluções: para resolver esse problema, verifique a carga do servidor, reinicie o Nginx, analise a integridade dos servidores de back-end ou implemente mecanismos de cache adequados.

Leia: Como corrigir “Serviço de erro HTTP 503 indisponível”?


4. 504 Gateway Timeout Error (continuação):

  • Causas: esse erro geralmente ocorre quando o servidor upstream não responde dentro de um limite de tempo especificado.
  • Soluções: para resolver isso, verifique a configuração do servidor upstream, assegure a conectividade de rede adequada e ajuste as configurações de tempo limite no Nginx para permitir tempos de resposta mais longos, se necessário.

Leia: Como corrigir o erro de tempo limite do gateway HTTP 504?


5. Problemas de redirecionamento 301 e 302:

  • Causas: esses erros ocorrem quando há problemas com o redirecionamento de URL, como configurações incorretas ou loops no processo de redirecionamento.
  • Soluções:
  • Verifique a configuração do Nginx: Verifique os arquivos de configuração do Nginx para garantir que as regras de redirecionamento estejam definidas corretamente. Normalmente, o arquivo de configuração está localizado em /etc/nginx/nginx.conf ou em um arquivo separado dentro do diretório /etc/nginx/conf.d/ .
  • Verifique a configuração do bloco de servidor: No arquivo de configuração, localize o bloco de servidor que corresponde ao domínio ou host virtual afetado. Certifique-se de que a diretiva server_name apropriada esteja definida para o nome de domínio correto.
  • Revise as regras de redirecionamento: Examine os blocos location ou blocos server que definem as regras de redirecionamento. Certifique-se de que as diretivas rewrite ou return estejam configuradas corretamente para redirecionar as solicitações para o local desejado. Preste atenção às expressões regulares e aos URLs de destino.
  • Reinicie o Nginx : depois de fazer qualquer alteração nos arquivos de configuração, você precisa reiniciar o serviço Nginx para aplicar as alterações. Use o seguinte comando para reiniciar o Nginx:

sudo service nginx restart

  • Limpar cache do navegador : Às vezes, os navegadores armazenam em cache as respostas de redirecionamento. Limpe o cache do navegador ou tente acessar o site em uma janela privada ou anônima para garantir que o cache não esteja interferindo no redirecionamento.
  • Teste o redirecionamento : abra um navegador da Web e tente acessar a URL que deve acionar o redirecionamento. Verifique se o redirecionamento está funcionando conforme o esperado e se o destino desejado está sendo alcançado.
  • Verifique se há erros nos logs: Se o redirecionamento ainda não estiver funcionando, revise os logs de erro do Nginx ( /var/log/nginx/error.log ) para obter mensagens de erro relevantes. Os logs podem fornecer informações valiosas para identificar a causa do problema.

Seguindo essas etapas, você poderá diagnosticar e corrigir problemas comuns de redirecionamento no Nginx.


O que causa um erro NGINX?

Os erros do Nginx podem ser causados ​​por vários fatores, incluindo:

  • Sintaxe: A sintaxe incorreta nos arquivos de configuração do Nginx pode levar a erros.
  • Problemas do lado do servidor: problemas no servidor em que o Nginx está sendo executado, como carga alta ou recursos insuficientes, podem resultar em erros.
  • Problemas de rede: problemas com conectividade de rede, resolução de DNS ou configurações de firewall podem acionar erros do Nginx.
  • Solicitações de clientes: solicitações inválidas ou malformadas de clientes podem fazer com que o Nginx retorne erros.
  • Problemas do servidor upstream: se o Nginx atuar como um servidor proxy e encaminhar solicitações para servidores back-end, poderão ocorrer erros se os servidores upstream não estiverem respondendo corretamente.

É importante identificar a causa específica de um erro Nginx para aplicar a solução apropriada e resolver o problema de forma eficaz.


Como corrijo um erro do NGINX?

Agora que você viu alguns dos erros comuns do NGINX, você pode ter uma pergunta em mente: 'Como corrijo um erro do NGINX?'

Bem, a resposta não é tão difícil quanto parece. Existem vários métodos de solução de problemas disponíveis para erros do NGINX. No entanto, é importante observar que esses métodos de solução de problemas são apenas para a fase inicial. Uma investigação mais aprofundada é necessária para determinar a causa exata do problema.

Existem basicamente três comandos que podem ajudá-lo a iniciar sua jornada de solução de problemas para erros do NGINX.

  • Obtenha o log de erros e os detalhes do problema usando este comando: sudo cat /var/log/nginx/error.log
  • Para verificar o status ativo do Nginx: sudo systemctl status nginx
  • Para verificar erros de sintaxe no arquivo de configuração: sudo nginx -t

1. Solução de problemas de erros do Nginx com logs de erro

Quando você encontra um problema com o NGINX, a maioria desses erros do NGINX são vagos e não é fácil simplesmente descobrir o problema real. O erro pode ser acionado devido a um problema maior ou pode não estar relacionado.

Tudo isso depende de como você configurou a configuração do NGINX e da situação específica que está enfrentando.

Para entender melhor os erros do NGINX que estão ocorrendo, você pode executar um comando para visualizar uma lista desses erros. Aqui está o comando:

sudo cat /var/log/nginx/error.log

Para executar este comando, você precisará ser um usuário privilegiado. Recomenda-se ter acesso sudo em vez de usar o usuário root.

Este comando permite que você leia todo o conteúdo do arquivo /var/log/nginx/error.log, que contém os logs de erro do NGINX. Ele exibirá esses logs na janela do seu terminal.

Ao executar este comando, você poderá ver uma lista dos erros do NGINX que foram registrados. Lembre-se de uma coisa: se não houver erros registrados no log, você não verá nenhuma saída ao executar o comando.

Aqui está um exemplo de log de erros para sua referência,

2023/05/31 10:15:23 [error] 1234#0: *1 open() "/var/www/html/missing-page.html"
failed (2: No such file or directory), client: 192.168.0.1, server: example.com,
request: "GET /nonexistent-page HTTP/1.1", host: "example.com"

2023/05/31 12:45:57 [error] 1234#0: *2 upstream timed out (110: Connection timed out)
while reading response header from upstream, client: 192.168.0.2, server:
example.com, request: "GET /api/data HTTP/1.1", upstream:
"http://127.0.0.1:8000/api/data", host: "example.com"

2023/05/31 15:22:10 [error] 1234#0: *3 rewrite or internal redirection cycle while internally redirecting to "/index.php", client: 192.168.0.3, server: example.com, request: "GET /category/products/ HTTP/1.1", host: "example.com"

Neste exemplo, cada linha representa um erro separado registrado pelo NGINX. Vamos detalhar as informações fornecidas:

  • Timestamp: A primeira parte de cada linha mostra a data e hora em que ocorreu o erro, formatado como YYYY/MM/DD HH:MM:SS .
  • Nível de erro: A tag [error] indica que esta linha representa um erro.
  • ID do processo: o número após o símbolo # (por exemplo, 1234#0 ) representa o ID do processo NGINX que está lidando com a solicitação.
  • Mensagem de erro: a mensagem de erro fornece detalhes sobre o erro específico. Inclui informações como falhas de acesso a um arquivo ou recurso, tempo limite de conexão upstream ou problemas de redirecionamento interno.
  • IP do cliente: O campo client exibe o endereço IP do cliente que faz a solicitação ao servidor.
  • Nome do servidor: O campo server indica o nome do servidor ou host virtual onde ocorreu o erro.
  • Detalhes da solicitação: o campo request mostra o método HTTP, a URL solicitada e a versão do protocolo usada pelo cliente.
  • Host: O campo host especifica o nome do host ou endereço IP usado na solicitação.

Cada entrada de log de erro ajuda a diagnosticar e solucionar problemas, fornecendo informações sobre o tipo de erro, recurso afetado, IP do cliente e outros detalhes relevantes.

2. Solução de problemas do NGINX verificando seu status

Outro método que você pode tentar solucionar problemas do NGINX é verificando seu status, ou seja, se está ativo ou não. Existe a possibilidade de que, por determinados motivos, o processo de instalação não tenha sido concluído ou o serviço ainda não esteja ativo.

Para verificar o status do serviço NGINX, use o seguinte comando:

sudo systemctl status nginx

Se o serviço NGINX estiver ativo, a saída será como;

nginx.service - The NGINX HTTP and reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset:
enabled)
Active: active (running) since Mon 2023-05-31 14:30:00 UTC; 5min ago
Docs: http://nginx.org/en/docs/
Process: 1234 ExecStart=/usr/sbin/nginx -g daemon on;
master_process on;
(code=exited, status=0/SUCCESS)
Main PID: 1234 (nginx)
Tasks: 2 (limit: 2319)
Memory: 3.9M
CGroup: /system.slice/nginx.service
├─1234 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─5678 nginx: worker process

e se o status NGINX estiver inativo, a saída do sudo systemctl status nginx o comando indicará que o serviço está inativo ou interrompido da seguinte maneira.

nginx.service - The NGINX HTTP and reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: inactive (dead)
Docs: http://nginx.org/en/docs/

Se for o caso, a única coisa que você precisa fazer é reiniciar o serviço NGINX usando este comando:

sudo systemctl restart nginx

Depois disso, você pode usar o comando status novamente para verificar se o serviço NGINX está ativo ou não.

3. Solução de problemas do NGINX verificando erros de sintaxe

Erros de sintaxe são um problema comum que pode surgir ao escrever scripts, códigos ou configurar arquivos Nginx.

Se você usou uma estrutura de sintaxe incorreta ou omitiu determinados caracteres, uma sintaxe incorreta impedirá que o código ou a configuração funcione corretamente.

No caso dos arquivos de configuração do Nginx, eles compreendem várias diretivas, cada uma das quais precisa ser declarada com precisão para o funcionamento adequado. Caso contrário, não funcionará como pretendido.

Para verificar qualquer erro de sintaxe em seu arquivo de configuração Nginx, use o seguinte comando.

sudo nginx -t

Se a sintaxe estiver correta, a saída será,

nginx: configuration file /etc/nginx/nginx.conf test is successful

No entanto, se houver um problema na sintaxe, a saída será exibida como,

nginx: [emerg] unexpected end of file, expecting ";" or "}" in
/etc/nginx/nginx.conf:42
nginx: configuration file /etc/nginx/nginx.conf test failed

Ao realizar esta verificação, você pode identificar e corrigir quaisquer erros de sintaxe, garantindo que sua configuração do Nginx seja precisa e completa. É uma boa prática executar este comando sempre que fizer alterações no arquivo de configuração ou antes de reiniciar o Nginx para evitar problemas causados ​​por erros de sintaxe.


Nota: É altamente recomendável executar este comando de sintaxe para verificar se há algum erro em seu arquivo de configuração Nginx e garantir que nada esteja faltando.


Como prevenir futuros erros do Nginx?

Você também pode tomar medidas preventivas para evitar erros nginx no futuro. Tudo o que você precisa fazer é seguir as dicas mencionadas abaixo:

1. Atualizações regulares de software: mantenha seu servidor Nginx atualizado instalando as atualizações de software mais recentes. As atualizações geralmente incluem correções de bugs, patches de segurança e melhorias de desempenho que podem prevenir ou resolver problemas conhecidos.

2. Monitoramento e alerta: implemente um sistema de monitoramento para ficar de olho na integridade e no desempenho do seu servidor Nginx. Configure alertas para notificá-lo sobre quaisquer atividades incomuns, erros ou possíveis problemas, permitindo que você tome medidas proativas antes que eles afetem seu site.

3. Otimização de desempenho: Otimize sua configuração Nginx para aprimorar o desempenho e reduzir a probabilidade de erros. Ajuste as configurações relacionadas ao armazenamento em cache, tamanhos de buffer e limites de conexão para garantir o tratamento eficiente de solicitações e minimizar o risco de erros.


Resumo

Em resumo, os erros do Nginx podem ocorrer durante o uso do servidor da web Nginx, causando interrupções em seu site ou aplicativo da web. Esses erros vêm em várias formas, incluindo 502 Bad Gateway Error, 404 Not Found Error, 503 Service Unavailable Error, 504 Gateway Timeout Error e erros de redirecionamento (301 e 302).

Para solucionar os erros do Nginx com eficiência, é importante entender suas causas e tomar as medidas apropriadas. Gatilhos comuns para erros Nginx incluem erros de arquivo de configuração, problemas do lado do servidor, problemas de rede ou solicitações de clientes. As soluções práticas envolvem o diagnóstico da causa raiz, verificando os logs de erros, procurando erros de sintaxe ou monitorando o status ativo do Nginx.

Lembre-se, embora esses métodos de solução de problemas possam ser úteis inicialmente, pode ser necessária uma investigação mais aprofundada para identificar a causa exata do problema.

Seguindo esses métodos de solução de problemas e implementando as soluções apropriadas, você pode diagnosticar e corrigir erros comuns do Nginx com eficiência, garantindo uma experiência tranquila para os visitantes do seu site.

perguntas frequentes

Como corrijo um erro do NGINX?

A primeira coisa que você precisa fazer é executar os seguintes comandos para obter o log de erros, o status do NGinx e verificar o erro de sintaxe.
1. Obtenha o log de erros e os detalhes do problema usando este comando: sudo cat /var/log/nginx/error.log
2. Para verificar o status ativo do Nginx: sudo systemctl status nginx
3. Para verificar erros de sintaxe no arquivo de configuração: sudo nginx -t

Qual é o erro do NGINX?

Um erro Nginx refere-se a um soluço ou falha que ocorre durante o uso do servidor web Nginx. Nginx é o servidor da web amplamente usado, no qual a maioria dos sites é confiável. No entanto, como qualquer software, ele pode encontrar erros que podem atrapalhar o bom funcionamento do seu site.

O que causa um erro NGINX?

Os motivos que causam um erro NGINX são,
1. Erro de sintaxe
2. Problemas do lado do servidor
3. Problemas de rede
4. Solicitações do cliente
5. Problemas do servidor de tempo de atividade