全部
技术
PHP
MySQL
前端
Linux
JAVA
工具
纪念日计算器
邮记星
个人记账
笔记侠
历史上的今天
生日密码
生日书
生日密码
生日花语
博古通今
三十六计
鬼谷子
笑林广记
本草纲目
山海经
唐诗宋词
宋词300首
唐诗300首
退出
登录
注册
编辑文章
选择分类
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(关闭)。**
保存文章