nginx工作进程分析

发布时间:2021-11-15 16:35:45 作者:iii
来源:亿速云 阅读:117

本篇内容介绍了“nginx工作进程分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

前言

有天接收到业务同事反映,说有些业务超时比例过高。我尝试查询问题,最终定位到nginx将一些请求反向代理到错误的路径上,导致超时。

问题追踪

我准备从以下线索追踪问题:

1.错误的路径

这个路径指向的服务器是之前业务的负载,由于这个机器比较就,就将他下架了。此服务器上已经没有相关业务程序,如果有实时请求反向代理到这台机器上,由于该服务器没有部署相关业务程序,请求失败

2.反向代理的配置是否正确

我们观察了upstream相关配置,的确没有配置转发到这台旧机器的配置。

3.nginx配置生效操作是否正确

使用的命令是:

  1. nginx -t

  2. nginx -s reload

先检查配置是否正确,然后重载

nginx的reload命令做的是什么样的操作。

参考官方文档

http://nginx.org/en/docs/beginners_guide.html

一旦master 进程接收到需要重载配置文件的信号时,它会检查新配置文件中语法是否正确,尝试着适用该配置。如果成功,master进程会启动新的工作进程,并且向旧的工作进程发送关闭信号,请求关闭旧工作线程。否则,master进程回滚到改动之前的配置状态,继续使用旧的配置文件。老的工作线程,接收到需要关闭的信号时,停止接收新的连接,并且继续服务当前的请求,直到这些请求全部被处理。最后,老的工作线程退出。

回想到错误现象:nginx将一些请求反向代理到错误的路径上,导致超时

存在一些请求反向代理到错误的路径,但是大多数请求的反向代理都是正确的。是不是有些工作进程使用的是当前的配置文件,而有一些工作进程使用的是旧的配置文件。那些走旧的配置文件的工作进程将请求反向代理到错误的路径上。

实际是检验真理的唯一道路,我们登陆服务器查询下该nginx下的工作进程:

nginx工作进程分析

nginxbug1.png

nginx工作进程分析

nginxbug3.png

发现果然有一个工作进程的创建时间是2018年,明显有问题。pid为 36766 的nginx master下有一个pid为30284 工作进程的创建时间是 2018年

“nginx工作进程分析”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Nginx工作原理
  2. Nginx工作原理详解

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nginx

上一篇:Serverless中如何结合实现文本摘要和关键词提取?

下一篇:如何通过Serverless架构实现监控告警

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》