CentosTutoriais

Como Corrigir o Erro 504 Gateway Timeout Nginx

Um erro comum quando usamos Nginx seja com FastCGI PHP-FPM ou Proxy reverso é nos deparar com o erro 504 Timeout.

Para corrigir o erro 504 timeout no Nginx temos que primeiro saber qual configuração usamos.

Erro 504 Gateway Timeout Nginx FastCGI PHP-FPM

Para Nginx + FastCGI php-fpm usando essas recomendações é possível corrigir o erro.
Primeiro vamos aumentar o tempo de execução do php, para isso vamos editar o arquivo:

vi /etc/php.ini

Agora procuramos a linha max_execution_time e mudamos para 300, ou seja para 300 segundos:

max_execution_time = 300

Continuando vamos modificar o arquivo PHP-FPM para também enviar o sinal de timeout aos 300 segundos
Para isso editamos o arquivo:

vi /etc/php-fpm.d/www.conf

Buscamos no arquivo a linha request_terminate_timeout que deve estar comentada, não esqueça de descomentar, ficando assim:

request_terminate_timeout = 300

Não esqueça de salvar sempre o arquivo que editar.

Agora já no NGINX vamos configurar o FastCGI para os mesmos 300 segundos, para isso editamos nosso arquivo de configuração NGINX, que em geral deve estar na pasta

/etc/nginx/

Buscamos localistar a configuração do fastCGI do arquivo dentro do location e adicionamos o seguinte código:

fastcgi_read_timeout 300;

O resultado final deve ser mais ou menos assim:

location ~ \.php$ {
 fastcgi_keep_conn on;
 fastcgi_pass fcgi_backend;
 fastcgi_index index.php;
 fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 include fastcgi_params;
 fastcgi_read_timeout 300;
 }

Agora reiniciamos o Nginx e o PHP-FPM

service nginx restart
service php-fpm restart

Pronto! Seu problema com Nginx 504 timeout com PHP deve ter acabado.

504 Erro Timeout Nginx Proxy

Se está usando Nginx como proxy reverso do Servidor Web Apache, você precisa colocar algumas configurações no seu arquivo de configuração nginx para dar mais tempo a conexão do proxy, para isso edite o seguinte arquivo nginx.conf :

vi /etc/nginx/nginx.conf

E adicione a sua configuração proxy as seguintes linhas:

proxy_connect_timeout 600; 
proxy_send_timeout 600; 
proxy_read_timeout 600; 
send_timeout 600;

Então é só reiniciar o nginx:

service nginx restart

Pronto você possivelmente resolveu os erros 504 timeout do Nginx.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *