我是靠谱客的博主 犹豫金毛,最近开发中收集的这篇文章主要介绍深入理解Nginx:(3) Nginx 调用 HTTP 模块的过程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录


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 模块的过程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部