因为nginx属于微内核设计,nginx的强大之处在于灵活的微内核再加上可扩展的模块,nginx自身的模块有core、event、http、mail等核心模块,但是开发者又可以基于这些核心模块开发满足自身业务需求的模块,首当其冲的便是http模块了,因此,大家在阅读nginx代码的时候可以看到很多的ngx_http_xxx,这些都是基于http模块开发的第三方模块。模块大概可以分为四种:1.请求处理模块。负责生成响应或者影响后续的处理模块,请求处理模块遵循请求阶段设计,在同阶段内按序处理。2.过滤模块。生成了HTTP响应后,此类模块可以对响应做再加工。3.仅影响变量的模块。这类模块为其他模块的指令赋能,它们提供新的变量或者修改已有的变量。4.负载均衡模块。它们提供选择上游服务器的负载均衡算法,并可以管理上游连接。