Nginx的模块不能够像Apache那样动态的加载,所以模块都要预先编译进Nginx的二进制可执行文件中。
Nginx的模块有三种角色:
1. Handler(处理模块) 用于处理Http请求并输出内容
2.Filters(过滤模块) 用于过滤Handler输出的内容
3.Load-balancer(负载均衡模块) 当有多台服务器供选择时,选择一台服务器并将HTTP请求转发到该服务器
Nginx的执行流程
客户端--》Nginx服务器--》Nginx基于配置文件选择合适的处理模块--》负载均衡模块选择后台服务器--》处理模块进行处理并把处理输出缓冲放到第一个过滤模块上--》第一个过滤模块处理后输给第二个过滤模块--》然后第二个过滤模块传给第三个过滤模块-》第N个过滤模块-》把结果发回客户端。