Nginx系列(二)--模块化
2016-01-08 20:26
441 查看
高度模块化的设计设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中,除了少量的核心代码,其它一切皆为模块。模块化设计具有下面特点:
1、高度抽象的模块接口
2、灵活性
3、配置模块的设计使Nginx提供了高可配置性、高可扩展性、高可定制性、高可伸缩性。
4、核心模块接口简单化
5、多层次、多类别的模块设计
全部模块间是分层次、分类别的,官方Nginx有五大类型的模块:核心模块、配置模块、事件模块、HTTP模块、mail模块。
配置模块和核心模块这两种模块类型是由Nginx的框架代码所定义的,这里的配置模块是全部模块的基础,它实现了最主要的配置项解析功能(解析nginx.conf文件)。
Nginx框架还会调用核心模块。但其它三种模块都不会与框架产生直接关系。事件模块、HTTP模块、mail模块这三种模块的共性是:实际上它们在核心模块中各有1个模块作为自己的代言人,并在同类模块中有1个作为核心业务与管理功能的模块。
Nginx模块直接被编译仅Nginx,因此属于静态编译方式。
启动Nginx后。Nginx的模块被自己主动载入,不像Apache,首先将模块编译为一个so文件,然后再配置文件汇总指定是否进行载入。在解析配置文件时。Nginx的每个模块都有可能去处理某个请求。可是同一个处理请求仅仅能由一个模块来完毕。
相关文章推荐
- 【Linux运维-集群技术进阶】Nginx强大的平滑升级
- Nginx 配置文件 参考
- 在Nginx 下运行 Laravel5.1 的配置
- Linux下Nginx的安装与配置
- 安装nginx+ngx_lua支持WAF防护功能
- Linux下安装Nginx1.8.0
- Windows下Nginx的安装与使用(一):配置端口转发
- mac os源码编译NGINX和PHP环境
- flume + elasticSearch + kibana, 分析nginx日志
- nginx
- centos-6.6安装nginx-1.9.7和php7.0.0(二)
- Nginx去除版本号
- Nginx -- Gzip 压缩功能作用
- nginx 服务器重启命令,关闭 (转)
- centos-6.6安装nginx-1.9.7和php7.0.0(一)
- Nginx + CGI/FastCGI + C/Cpp
- windows php7+nginx配置
- 【转载】一淘技术专家王晓哲:Nginx_lua的测试及选择
- Nginx-关键概念解读
- 一些nginx配置