立刻有
全部
技术
PHP
MySQL
前端
Linux
JAVA
退出
编辑文章
选择分类
PHP
MySQL
前端
Linux
Java
工具
选择专栏
设计模式
java基础
Angular学习
Java面试题
描述:
最近接口调用只要时间超过5s就好报错502 Bad Gateway
封面图上传 :
+
点击上传图片
PHP接口调用超过5s的请求直接返回如下信息: ``` Response
502 Bad Gateway
502 Bad Gateway
nginx
``` 查了Nginx的错误日志如下: ``` 2019/01/22 16:40:45 [error] 14291#0: *296842388 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 113.96.219.247, server: , request: "POST XXX HTTP/1.1", upstream: "fastcgi://unix:/dev/shm/php7-cgi.sock:", ... ``` 原因是由于php_fpm的执行时间受request_terminate_timeout这个参数的配置影响,这个参数我配置的是5s,那么5s后,这个php-fpm处理进程会被直接杀掉,导致返回502 - 官方备注: **request_terminate_timeout mixed 设置单个请求的超时中止时间。该选项可能会对 php.ini 设置中的 'max_execution_time' 因为某些特殊原因没有中止运行的脚本有用。设置为 '0' 表示 'Off'。可用单位:s(秒),m(分),h(小时)或者 d(天)。默认单位:s(秒)。默认值:0(关闭)。**
保存文章