转Nginx系列--模块化

Posted 大数据和人工智能躺过的坑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转Nginx系列--模块化相关的知识,希望对你有一定的参考价值。

原博文出于:  http://blog.csdn.net/liutengteng130/article/details/46700977   感谢!

 

  高度模块化的设计设nginx架构的基础。在Nginx中,除了少量的核心代码,其他一切皆为模块。模块化设计具有以下特点:

1、高度抽象的模块接口

2、灵活性

3、配置模块的设计使Nginx提供了高可配置性、高可扩展性、高可定制性、高可伸缩性。

4、核心模块接口简单化

5、多层次、多类别的模块设计

       所有模块间是分层次、分类别的,官方Nginx有五大类型的模块:核心模块、配置模块、事件模块、HTTP模块、mail模块。

         配置模块和核心模块这两种模块类型是由Nginx的框架代码所定义的,这里的配置模块是所有模块的基础,它实现了最基本的配置项解析功能(解析nginx.conf文件)。Nginx框架还会调用核心模块,但其他三种模块都不会与框架产生直接关系。事件模块、HTTP模块、mail模块这三种模块的共性是:实际上它们在核心模块中各有1个模块作为自己的代言人,并在同类模块中有1个作为核心业务与管理功能的模块。

 

 

    Nginx模块直接被编译仅Nginx,因此属于静态编译方式。启动Nginx后,Nginx的模块被自动加载,不像Apache,首先将模块编译为一个so文件,然后再配置文件汇总指定是否进行加载。在解析配置文件时,Nginx的每一个模块都有可能去处理某个请求,但是同一个处理请求只能由一个模块来完成。

 

以上是关于转Nginx系列--模块化的主要内容,如果未能解决你的问题,请参考以下文章

转Nginx系列--nginx+tomcat实现负载均衡

微服务实战系列--Nginx官网发布(转)

转Nginx系列--管理进程多工作进程设计

死磕nginx系列

死磕nginx系列--使用nginx做负载均衡

Nginx之Http模块系列之browser模块