nginx模块动态加载(http)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx模块动态加载(http)相关的知识,希望对你有一定的参考价值。
- 解析部分
- 动态加载所有模块,维护一个全局数组modules[nmodules];
- 解析配置文件,记录每个块及子块所用的模块,细分到location级别(merge),维护一个全局数组call_modulers[nlocations][ncallmodulers],每当生成一个location,nlocations++;
- 为call_modulers中每个location添加默认模块及配置,所有模块加载完毕;
- merge call_modulers中各个location使用模块的phase的callback,顺序可以根据模块调用顺序,也可以根据载入顺序,全局变量用局部变量来替换。
- 流程部分
- 去掉所有phase的流程
- 根据请求与location匹配规则,查找使用的call_modulers;
- 在原来调用phase的地方调用查到到的call_modulers的location的phase;
- 对请求及响应处理中使用的全局变量均用各个location的局部变量代替。
以上是关于nginx模块动态加载(http)的主要内容,如果未能解决你的问题,请参考以下文章
Linux下玩转nginx系列---如何使用upsync模块实现动态负载均衡