Php nginx作为代理服务器何时发送502坏网关错误?

Php nginx作为代理服务器何时发送502坏网关错误?,php,nginx,reverse-proxy,Php,Nginx,Reverse Proxy,我有一个nginx代理服务器,它接收客户端请求,并请求php5 fpm来处理它们。 我想知道,在重载情况下,nginx何时发送502错误? nginx请求php5 fpm和php5 fpm无法处理它们,是不是有什么不好的地方,还是nginx发现请求太多,直接返回502响应 编辑 代码1 代码2 我已经看到代码2在重载情况下工作得很好。 但是代码1不起作用,有人能解释一下吗 另外,@static location中的$uri等于“/index.php”,而不是实际的uri。 有没有找到实际uri的

我有一个nginx代理服务器,它接收客户端请求,并请求php5 fpm来处理它们。 我想知道,在重载情况下,nginx何时发送502错误? nginx请求php5 fpm和php5 fpm无法处理它们,是不是有什么不好的地方,还是nginx发现请求太多,直接返回502响应

编辑

代码1

代码2

我已经看到代码2在重载情况下工作得很好。 但是代码1不起作用,有人能解释一下吗

另外,@static location中的$uri等于“/index.php”,而不是实际的uri。
有没有找到实际uri的方法?

让我们想象一下,您的php守护进程停止工作,或者被请求超载,它将无法正常工作,并且来自nginx的所有php请求都将无法提供服务,因此将出现502 http错误。Nginx找不到任何东西,它是一个程序,不知道第二方的代码、能力或缺陷。所以你的意思是,它发生在Nginx和php5 fpm对话之间。它可以发生在Nginx和php5 fpm之间,但也可以发生在其他人身上,如果Nginx与他们对话的话。但在大多数情况下,它只是php5 fpm。@Charlotte Dunois,请检查edit.Code1不起作用,因为try\u文件将内部重定向到/index.php,该文件在其他位置处理,可能是位置~\.php$,或者类似的位置,并且第一个位置被完全忘记,所以不再使用error\u page指令。代码1中的代理截获错误也将不起作用。
location / {
 error_page 502 @static;
 try_files $uri $uri/ /index.php;
 proxy_intercept_errors on;
}

location @static{

}
error_page 502 @static;

location / {
 try_files $uri $uri/ /index.php;
}
location @static{

}