Desativar o tempo limite do gateway para a porta / pasta específica do Nginx

2

Como posso desativar o tempo limite nginx ao acessar por meio de uma porta específica ou simplesmente uma pasta especificada. O que for mais fácil.

Basicamente eu tenho alguns scripts que precisam ser executados por um longo período de tempo e o tempo limite do gateway está impedindo que eles sejam concluídos.

    
por Belgin Fish 17.04.2015 / 18:31

2 respostas

1

Há duas diretivas envolvidas aqui, uma em nginx fastcgi_read_timeout , conforme descrito aqui , o outro está em php-fpm.conf reqest_terminate_timeout , você pode definir isso como 0 para desativar o tempo limite.

No nginx set fastcgi_read_timeout para qualquer valor grande e arbitrário como foi respondido no meu primeiro link, você pode definir isso dentro de qualquer location específico.

    
por 20.04.2015 / 09:56
2

Normalmente, se você tiver scripts que precisem de mais tempo, há algumas soluções.

  1. Você pode aumentar o fastcgi_read_timeout e o reqest_terminate_timeout . Mas o problema é que você não deve definir o valor muito alto. Se você tem muitos processos que bloqueiam uns aos outros, eles ficam abertos por um longo tempo e é possível que seu servidor não consiga mais entregar seu conteúdo.

  2. O que eu prefiro é não executar scripts longos em seu servidor web. Use a linha de comando e execute seu script com um cron, por exemplo. Normalmente, um servidor da Web não é uma maneira muito boa de executar scripts de longa execução.

Eu tive o mesmo problema antes de alguns meses nós mudamos para o php-cgi e tinhamos um script que estava rodando sobre o wget. Eu mudei o script que estava sendo executado com um CLI.

    
por 20.04.2015 / 11:10