概述
文章目录
Nginx 调用 HTTP 模块的过程,可以从一张简化的时序图开始。
上图只保留了调用主干,省略了许多异步调用,忽略了多个不同的处理阶段,仅表示了一个典型请求的处理过程中主要模块被调用的流程。
从上图中可以看到,worker 进程会在一个 for 循环语句里反复调用事件检测网络事件。当事件模块检测到某个客户端发起的 TCP 请求时(接收到 SYN 包),将会为它建立 TCP 连接,成功建立连接后根据 nginx.conf 文件中的配置会交由 HTTP 框架处理。HTTP 框架试图接收完整的 HTTP 头部,并在接收到完整的 HTTP 头部后将请求分发到具体的 HTTP 模块中处理。这种分发策略时多样化的,其中最常见的是根据请求的 URI 和 nginx.conf 里 location 配置项的匹配度来决定如何分发。HTTP 模块在处理请求的结束时,大多会想客户端发送响应,此时会自动地依次调用所有的 HTTP 过滤模块,每个过滤模块可以根据配置文件决定自己的行为。
参考:
- 《深入理解Nginx》
最后
以上就是犹豫金毛为你收集整理的深入理解Nginx:(3) Nginx 调用 HTTP 模块的过程的全部内容,希望文章能够帮你解决深入理解Nginx:(3) Nginx 调用 HTTP 模块的过程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复