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

265 0

This post is also available in: English

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 PHP

Para 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:

max_execution_time = 300

Também é necessário alterar o parâmetro request_terminate_timeout em /etc/php/7.0/fpm/pool.d/www.conf para:

request_terminate_timeout = 300

Alterações no Nginx

Na configuração do seu virtual host no Nginx, adicione a variável fastcgi_read_timeout, conforme indicado abaixo:

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;
}

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.

(Visited 77 times, 1 visits today)

Elisio Leonardo

Elisio Leonardo is an experienced Web Developer, Solutions Architect, Digital Marketing Expert, and content producer with a passion for technology, artificial intelligence, web development, and entertainment. With nearly 15 years of writing engaging content on technology and entertainment, particularly Comic Book Movies, Elisio has become a trusted source of information in the digital landscape.