2 votes

Désactiver le délai d'attente de la passerelle pour un port / dossier Nginx spécifique

Comment puis-je désactiver le délai d'attente de nginx lors de l'accès par un port spécifique, ou simplement un dossier spécifié. Ce qui est le plus facile.

En gros, j'ai quelques scripts qui doivent s'exécuter pendant une longue période et le délai d'attente de la passerelle les empêche de se terminer.

2voto

René Höhle Points 1418

Normalement, si vous avez des scripts qui ont besoin de plus de temps, il y a quelques solutions.

  1. Vous pouvez augmenter le fastcgi_read_timeout y reqest_terminate_timeout . Mais le problème est que vous ne devez pas fixer une valeur trop élevée. Si vous avez beaucoup de processus qui se bloquent les uns les autres, ils restent ouverts longtemps et il est possible que votre serveur ne puisse plus délivrer votre contenu.

  2. Ce que je préfère est de ne pas exécuter de scripts à long terme sur votre serveur Web. Utilisez la ligne de commande et exécutez votre scripts avec un cron par exemple. Normalement, un serveur Web n'est pas un très bon moyen d'exécuter des scripts à long terme.

J'ai eu le même problème avant quelques mois nous avons changé pour php-cgi et avions un script qui s'exécutait sur wget. J'ai modifié le script qu'il exécutait avec une CLI.

1voto

fudanchii Points 126

Il y a deux directives impliquées ici, une chez nginx fastcgi_read_timeout comme décrit aquí l'autre est dans php-fpm.conf. reqest_terminate_timeout vous pouvez le mettre à 0 pour désactiver le délai d'attente.

Chez nginx, définissez fastcgi_read_timeout à n'importe quelle grande valeur arbitraire, comme indiqué dans mon premier lien, vous pouvez définir cette valeur dans n'importe quel fichier spécifique. location .

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X