记录一下,现在记录的都是简单的东西。以后会记录和分享操作系统和
python源码方面的学习记录。言归正传...
linux老爸说过想了解它就要先学会使用。当然了,这个它是指linux。
我最初使用的apache,后来就在系统上一直用的是nginx。
原因就不说了,每件事情都有个人、环境的因素在其中,很难说好与坏。
基本的配置就不说了。这里讲的是模块开发,当然也可以叫nginx插件编写。
我也是看看code,网上搜搜资料、看看博客学习的。
Ngnix模块主要的三个任务是:
1)处理程序处理请求,和产生所要的输出;
2)通过处理程序中的一个或多个过滤程序产生输出;
3)当后台有多以一个可用的服务时,起到负载均衡的作用。
Nginx并不能像apache那样动态的链接模块,模块是编译时编译进nginx中的。
模块起到了很大的作用在nginx处理请求的过程中,nginx的核心只是简单地处理所有
的网络和应用协议,还有设置的处理客户端请求的模块的顺序。
典型的处理周期是:
客户端发送http请求 → 根据location配置域Nginx选择合适的处理程序 →
如果适合,负载均衡器选择一个后端服务 → 处理程序处理请求并把输出缓冲区数据传给
第一个过滤器→ 第一个过滤器传给第二个 → 第二个传给第三个 → ......→ 把最后
一个输出(response)发送给客户端。
本文介绍了Nginx模块开发的基本概念,包括其在处理HTTP请求过程中的作用及实现方式。作者通过自己的学习经历,讲解了Nginx模块如何进行请求处理、输出过滤以及负载均衡等功能。
1691

被折叠的 条评论
为什么被折叠?



