###问题发生的背景:
合作方请求某个接口,由于处理时间较长,导致了网关超时.

###问题分析:
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的错误,也可以按照这几个参数进行配置.