最近项目由阿里云服务器转移到腾讯云服务器,可能之前的php.ini跟php-fpm.conf都配置好了对应的数值,转移到新服务器后,没有注意这两个文件的部分参数,导致请求接口的时候一直报502 bad gateway。这里要说明的一点是:由于这个接口查询的数据较大,并且跨3个库查询,所以超时。
遇到问题,我先查看了nginx的错误日志
2020/04/27 15:49:24 [error] 7482#7482: *208590 recv() failed (104: Connection reset by peer) while reading response header from upstream
百度了下,问题出在:
可能的原因机房网络丢包或者机房有硬件防火墙禁止访问该域名
但最重要的是程序里要设置好超时,不要使用php-fpm的request_terminate_timeout,
最好设成request_terminate_timeout=0;
我就去查了下php-fpm.conf,果然request_terminate_timeout=60,改后重启php-fpm,没有问题