记一次web server 502 504之分

这两天一个技术群里问到为什么我的服务端里报502错误,会是什么原因呢。

本着学习的态度找了下,然后试了下。以下为我的个人总结:

其实502,504有什么界线么?其实从程序端来说还真没有。

但从服务端来说应该是这样 (由于我用的是php 这里就以php-fpm为例):

如果: web server timeout > php-fpm timeout 这时候程序超时 那么你会看到502错误

如果:web server timeout < php-fpm timeout 这时候程序超时 那么你会看到504错误

测试如果(以504为例):

nginx 配置:

fastcgi_read_timeout    20;

php-fpm配置:

request_terminate_timeout = 30

php代码:

<?php

echo "hello world";
sleep(32);
echo "sleep 32";

报错信息:

反之就为502

原文地址:https://www.cnblogs.com/tywei/p/5947781.html