nginx超时状态码总结,404/502/504状态码区别
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
最近的几篇文章都是讨论nginx
的超时状态码的。在脚本超时的情况下,nginx
出现了三个不同的状态码,分别是404
/502
/504
。本文做一个简要的总结,三种状态码都出现在什么样的情景下呢?
苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验文章。
php-cgi 和 php-fpm
本文测试环境有两个,win10
下的phpstudy
,centos
下的宝塔。windows
下没有php-fpm
,只有php-cgi
。所以,不同的操作系统下,nginx
和php
之间的关系也是不同的。
windows
系统下,nginx@1.15.11
和php-cgi@8.2.11nts
下。
php_sapi_name()
输出:cgi-fcgi
。phpinfo()
里面的server api
是:CGI/FastCGI
。
centos
系统下,nginx@1.20.2
和php-fpm@5.6.40
下。
php_sapi_name()
输出:fpm-fcgi
。phpinfo()
里面的server api
是:FPM/FastCGI
。
状态404
这种情况是在win10
下的phpstudy
下得到的,具体来说,nginx@1.15.11
和php-cgi@8.2.11nts
。参考文章:
当试图通过nginx
访问一个长期运行的php
脚本(set_time_limit(0);while(true){}
)的时候,就会触发一个404
状态。
状态502
502
状态码是【php
自身出了问题】,导致超时的情况。测试环境:centos
为代表的类*unix
系统中,nginx@1.20.2
和php-fpm@5.6.40
。参考文章:
一共有三种情况会产生502
状态码。分别是:
php.ini
的max_execution_time
设置。php-fpm.conf
的request_terminate_timeout
设置。php-fpm
进程挂了。
状态504
504
状态码是【nginx
出了问题】,导致超时的情况。测试环境:centos
为代表的类*unix
系统中,nginx@1.20.2
和php-fpm@5.6.40
。参考文章:
相关的设置就一个,是nginx
的配置项目fastcgi_read_timeout
。
结语
苏南大叔的更多nginx
经验文章,请点击下面的链接:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。