文章8:Nginx模块开发概述

欢迎大家转载,转载请注明出处。 http://blog.csdn.net/yankai0219/article/details/8005795 
来自你的朋友 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处理完毕
          
文章8:Nginx模块开发概述_第1张图片

你可能感兴趣的:(文章8:Nginx模块开发概述)