文章15 | 阅读 6189 | 点赞0
上一篇中介绍了Nginx的安装,本篇将介绍Nginx的一些概念性内容和工作流程
Nginx是多进程的,启动时会先启动一个 Master 进程,然后由 Master 进程启动 子Worker 工作进程,Master主要作配置读取,维护 Worker 进程启动-销毁等,Worker进程对请求进行处理,Worker进程之间通过共享内存进行通信,启动Nginx时,默认设置Worker进程数为CPU的核心数。
请求会先被服务器内核拿到,然后nginx主进程监听内核端口,因子进程可以继承父进程,因此子Worker进程可以拿到请求,然后进行处理,处理的算法有轮询、随机、ip-hash等等
我们熟悉的是 nginx 命令行,其实是在给 Master 进程发送信号,然后 Master 给子 Worker进程发送信号,Worker进程收到信号后执行相关操作,如启动、关闭等
以 nginx -s reload 命令为例,来说说nginx的处理流程
再来熟悉下常用的 Nginx 命令:./sbin/nginx -s stop
除了通过Nginx命令行执行外,还可以通过linux的 kill 命令向nginx发送信号,pid是master进程号
kill -s QUIT pid
nginx对请求处理分为11个阶段,在这11个阶段中有处理的先后顺序,如果第一个阶段的模块处理并返回后,后面的阶段将不会再处理,灰色阶段是nginx框架做的事,我们无法处理,如下:
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://zhuyu.blog.csdn.net/article/details/90548604
内容来源于网络,如有侵权,请联系作者删除!