如何通过特定的端口或简单的指定文件夹来禁用nginx超时。 无论哪一个更容易。
基本上我有一些脚本需要执行很长一段时间,网关超时阻止它们完成。
这里有两个指令,一个是在这里描述的nginx fastcgi_read_timeout ,另一个是在php-fpm.conf reqest_terminate_timeout ,你可以设置为0来禁用超时。
在nginx中将fastcgi_read_timeout设置为任意大的值,就像我在第一个链接中回答的那样,你可以在任何特定的location设置它。
通常情况下,如果你有脚本需要更多的时间,有一些解决scheme。
你可以增加fastcgi_read_timeout和reqest_terminate_timeout 。 但问题是你不应该把价值太高。 如果你有很多进程阻塞对方,他们会打开很长一段时间,而且你的服务器可能无法再传送你的内容。
我更喜欢的是不要在Web服务器上执行长时间运行的脚本。 例如,使用命令行并使用cron运行脚本。 通常情况下,Web服务器不是一个很好的方法来执行长时间运行的脚本。
在几个月之前,我遇到了同样的问题,我们已经改为php-cgi,并有一个脚本运行在wget上。 我已经改变了使用CLI运行的脚本。