模块简介
nginx 的模块在源码中对应着是ngx_module_t结构的变量, 有一个全局的ngx_module_t指针数组,这个指针数组包含了当前编译版本支持的所有模块, 这个指针数组的定义是在自动脚本生成的objs/ngx_modules.c文件中
nginx启动的过程:
nginx是一个master主进程+多个worker子进程的工作模式 ,nginx主进程启动的过程中会按照初始化master、初始化模块、初始化工作进程、( 初始化线程、退出线程)、 退出工作进程、退出master顺序进行,而在这些子过程内部和子过程之间,又会有读取配置、创建配置、 初始化配置、合并配置、http解析、http过 滤、http输出、http代理等过程,在这些过程开始前后、过程中、结束前后等时机, nginx调用合适的模块接口完成特定的任务
所 谓的合适模块接口,是各个模块通过一些方式注册到系统内的回调函数,这些回调函数都要符合一定的接口规范