Corrigindo o Erro 504 “Gateway Timeout” com o Nginx e PHP

Um dos erros mais comuns para quem usa Nginx como Webserver é o erro 504 “Gateway Timeout”. Geralmente este erro é gerado quando o tempo de resposta do servidor que é responsável por processar o pedido por trás do Nginx, neste caso, o PHP, demora para enviar tal resposta. Para corrigir este erro, é necessário fazer alterações tanto no Nginx, como no PHP-FPM.A forma como o erro 504 “Gateway Timeout” aparece no browser varia de acordo com a versão do Nginx e das configurações do site. As mais comuns são:“504 Gateway Timeout”“504 Gateway Time-Out”“504 Gateway Timeout NGINX”“Nginx 504 Gateway Timeout”“HTTP 504 Gateway Timeout”“HTTP 504 Error”“HTTP 504”“Gateway Timeout (504)”Modificações no PHPPara quem usa php-fpm como backend para o Nginx, deve fazer as seguintes alterações:Alterar o max_execution_time no php.ini (No Ubuntu o php.ini encontra-se em /etc/php/7.0/fpm/php.ini) para:[code]max_execution_time = 300[/code]Também é necessário alterar o parâmetro request_terminate_timeout em /etc/php/7.0/fpm/pool.d/www.conf para:[code]request_terminate_timeout = 300[/code]Alterações no NginxNa configuração do seu virtual host no Nginx, adicione a variável fastcgi_read_timeout, conforme indicado abaixo:[code]location ~ .php$ {root /var/www/sites/nginxtips.com;try_files $uri =404;fastcgi_pass unix:/tmp/php5-fpm.sock;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;fastcgi_read_timeout 300;}[/code]A seguir é só fazer o restart tanto do php-fpm quanto do Nginx, para que o limite de tempo de execução das requisições passe para 5 minutos(300 segundos). Se o erro persistir, é so ajustar os valores.

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 306 times, 1 visits today)
Share