我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

猜测一下,状态码504 Gateway Time-out在什么时候会产生?依然是超时time out,依然是nignx+php。依然是不同的环境下,不同的运行结果。这就是本文的主要内容。

苏南大叔:nginx+php超时,什么情况下会产生504状态码? - nginx-504
nginx+php超时,什么情况下会产生504状态码?(图2-1)

苏南大叔的“程序如此灵动”博客,记录苏南大叔的代码感想感悟。centos@7.9.2009nginx@1.20.2php-fpm@8.3.1。值得注意的是:php-fpm只存在于非windows系统下,windows系统下的是php-cgi`,两者有着运行机制上的不同。

前文回顾

本文和下面这篇《nginx产生404状态码》文章,紧密相关。

目前的结论是:

  • nginxwin10下(phpstudy),脚本超时产生的就是404状态码。
  • centos下(bt panel),脚本超时就是504状态码。

龙套代码

依然使用这款好用的测试代码:

$t = intval($_GET["t"]);
sleep($t);
echo "sleep {$t} 秒";

测试设置

实际上为了模拟这个nginx504 timeout状态,也是比较简单的。设置nginxfastcgi_read_timeout选项即可。例如:

fastcgi_read_timeout 5;

这个就是5秒没有读取到php的输出内容的话,就显示超时。参考截图:

苏南大叔:nginx+php超时,什么情况下会产生504状态码? - 504-gateway-timeout
nginx+php超时,什么情况下会产生504状态码?(图2-2)

结语

更多苏南大叔的nginx设置相关经验文章,请参考:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   nginx