Nginx Web服务器主要是由各种模块协同工作,模块从结构上分为核心模块,基础模
块和第三方模块,其中三类模块分别如下:
1、核心模块:HTTP模块、event模块和mail模块等
2、基础模块:Http access模块、Http FastCGI模块、Http proxy模块和HTTP rewrite模块
3、第三方模块: Http upstream request hash模块、 notice模块和 Http access key模块、 limit_req模块等
Nginx的模块从功能上分为如下三类
1、handlers(处理器模块):此类模块直接处理请求,并进行输出内容和修改 headers信息等操作, handlers处理器模块一般只能有一个
2、filters(过滤器模块):此类模块主要对其他处理器模块输出的内容进行修改操作,最后由 Nginx输出
3、proxies(代理类模块):此类模块是 Nginx的 Http upstream之类的模块,这些模块主要与后端一些服务比如 Fast CGI等进行交互,实现服务代理和负载均衡等功能。
Nginx由内核和模块组成,其中内核的设计非常微小和简洁,完成的工作也非常简单仅是通过查找配置文件将客户端的请求映射到一个 location block,而 location是 Nginx配置中的一个指令,用于访问的URL匹配,而 location中所配置的每个指令将会启动不同的模块去完成相应的工作