公司QA部门今天更换了台新服务器,结果问题百出,先是php对外调用服务特别慢,排查了一整天,先是解决了OP那边的内网DNS解析问题(不是主因),然后查询各种网络路由,就差直接去HTTP/TCP这个层面去排查了,最后终于排查到是PHP服务的启动方式有问题,重新使用常规启动方式后,主问题恢复正常,又出现了新问题,部分服务提示:php_network_getaddresses: getaddrinfo failed: Name or servicenot known
各种断点调试之后,终于解决,解决思路整理如下
1.先在服务器上ping 一下地址,发现OP未对访问的内网域名做映射
2.DNS的问题解决后,问题仍然在,尝试对比cgi方式和cli命令行方式直接使用file_get_contens方式访问接口地址,发现cli正常,cgi方式不正常
3.重启php-fpm进程,发现问题仍在,再重新nginx服务,问题解决
总结:问题的根源在于服务器的DNS解析,服务器变更dns后,尽量将nginx和php都重启一下
评论已关闭!