centos 服务器报错 501 502 503 504 问题处理

php相关设置
php.ini 中 max_execution_time = 300

php-fpm.conf request_terminate_timeout = 100

基本公式如下:

超时时间 = min(max_execution_time , request_terminate_timeout)

注意 set_time_limit()函数和配置指令max_execution_time只影响脚本本身执行的时间。任何发生在诸如使用system() ,file_get_contents()的系统调用,流操作,数据库操作等不会被计算在执行时间中,request_terminate_timeout 就是真正的执行时间

如果是 max_execution_time 起作用,http状态码为500 页面会显示最大执行时间等报错信息,而request_terminate_timeout 起作用,http状态码为502 页面返回的内容为nginx502页面

避免没有超时机制的请求
在使用file_get_contents函数时,如果不设置超时,而请求的接口又不能很快的返回时,可能能会导致 request_terminate_timeout 超时,子进程会被kill 系统提示页面报 502,被系统kill后,数据的完整性无法保证,应尽量避免没有超时限制的请求操作,包括mysql的连接,执行,redis的连接等

不同超时设置起作用的状态码

超时设置状态码
max_execution_time500
request_terminate_timeout502
fastcgi_read_timeout504
proxy_read_timeout504

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值