nginx504网关超时解决方法

###问题发生的背景:

合作方请求某个接口,由于处理时间较长,导致了网关超时.

###问题分析:

1.可能是php程序超时报错;

2.php-fpm处理请求超时;

3.nginx服务器超时.

###问题解决:

1.php超时设置:

检查了php超时的配置,在php.ini里面:max_execution_time, 配置为300s,结果还是一样报了504超时.

2.查阅资料后,觉得可能是nginx代理超时,将nginx.conf或者vhost中的配置文件中加入设置的代理时长,结果还是没起作用:  
proxy_connect_timeout       300s;
proxy_send_timeout          300s;
proxy_read_timeout          300s;
send_timeout                300s;  

3.最后设置了fastcgi的超时配置,重启nginx就可以了.
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
如果以后再遇到超时504的错误,也可以按照这几个参数进行配置.