您的位置:首页 > 运维架构 > Nginx

文章8:Nginx模块开发概述

2012-09-21 21:16 316 查看
欢迎大家转载,转载请注明出处。/article/1653056.html
来自你的朋友 yankai0219

一、Nginx模块概述
1.Nginx模块的三种角色

2.Nginx模块的处理流程
一、Nginx模块概述
1.Nginx模块的三种角色
1)Handlers 处理模块:处理Http请求,并输出内容
2)Filters过滤模块:用于过滤Handler的输出内容
3)Load-balancers(负载均衡模块):当有多于一台的后端服务器供选择时,选择一台后端服务器,并将HTTP请求转发到该服务器。
2.Nginx模块的处理流程
---客户端发送HTTP请求到Nginx服务器--Nginx基于配置文件中的位置,选择一个合适的处理模块---负载均衡模块,选择一台后端服务器(反向代理情况下)---处理模块Handlers进行处理,并把输出缓冲放到第一个过滤模块上---第二个过滤模块---第N个过滤模块----最后把处理结果发送给客户端。
举例:根据添加的HelloWorld模块,进行说明
---客户端发送HTTP请求到Nginx服务器
(http://localhost/hello)
--Nginx基于配置文件中的位置,选择一个合适的处理模块

配置文件为Nginx.conf,hello在配置文件的位置如下所示 location /hello{

hello_world;

}

Nginx基于配置文件的文件中的位置,选择一个合适的处理模块。即ngx_http_hello_world_module。
---负载均衡模块,选择一台后端服务器(反向代理情况下)

注意:helloworld模块中,没有牵涉到负载均衡模块
---处理模块Handlers进行处理,并把输出缓冲放到第一个过滤模块上
ngx_http_hello_world函数根据指令hello_world所在的位置,调用相对应的处理函数ngx_http_hello_world_handlers

注意:在helloworld中没有牵涉过滤模块
---第二个过滤模块---第N个过滤模块
----最后把处理结果发送给客户端。

应该是在ngx_http_hello_world_handlers处理完毕
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: