测试职员溘然向我反馈,说线上的接口访问不了,返回404了。确认问题确实存在,在查找缘故原由的过程中接口规复正常。觉得这个问题还是挺故意思,以是记录下来。
二、404状态码
404 Not Found,一样平常情形都是指要求做事器上没有的资源

三、办理问题的过程
1.首先想到的是,做事器上的接口文件没了,登进去查看文件是正常的
2.考虑是否是nginx的配置变动导致访问不到,查看了下也是正常
3.接口又规复正常,考虑是不是公司网络调度导致的,问了问运维网络也没有任何调度
4.查看nginx上面的日志创造确实要求到了做事器上,并且返回了404
查到这里之后就隐约觉得到可能要涨见识了
5.接下来查看了nginx的缺点日志(error.log),看到频繁报以下的报错
18522#0: 5382085 recv() failed (104: Connection reset by peer) while reading response header from upstream
6.根据这个报错查找网上资料,说是由于php的运行韶光超过php-fpm设置的超时时间(request_terminate_timeout)会提示这个缺点
7.将request_terminate_timeout设置值增大,重启php-fpm,验证问题办理
四、写文档真有用
1.之前的办理过程便是如第三步所示,但是在记录问题的时候溘然思考这种情形不应该报502的缺点么......
2.在测试环境进行验证下,写个接口,里面sleep(50),在浏览器中访问下,果真如预期返回了502......
3. ..........
4.连续查找之前的error.log日志,创造还有以下的报错
18523#0: 5381683 open() \"大众/var/www/html/50x.html\"大众 failed (2: No such file or directory)
5.看了下nginx.conf,找到以下配置
error_page 500 502 503 504 /var/www/html/50x.html;
6.在测试环境验证了下,涌现了预期的404,大功告成。