每个过滤模块不会等上一个过滤模块全部完成;它能把前一个过滤模块的输出作为其处理内容;有点像 Unix 中的流水线。
过滤模块能以 buffer(缓冲区)为单位进行操作,这些 buffer 一般都是一页(4K)大小,当然你也可以在 nginx.conf 文件中进行配置。这意味着,比如模块可以压缩来自后端服务器的回复,然后像流一样的到达客户端,直到整个回复发送完成。
函数可在以下时段执行某些功能:
? 当服务读配置文件之前
? 读存在 location 和 server 或其他任何部分的每一个配置指令
? 当 Nginx 初始化全局部分的配置时
? 当 Nginx 初始化主机部分(比如主机/端口)的配置时
? 当 Nginx 将全局部分的配置与主机部分的配置合并的时候
? 当 Nginx 初始化位置部分配置的时候
? 当 Nginx 将其上层主机配置与位置部分配置合并的时候
? 当 Nginx 的主(master)进程开始的时候
? 当一个新的工作进程(worker)开始的时候
? 当一个工作进程退出的时候
? 当主进程退出的时候
? 处理请求
? 过滤回复的头部
? 过滤回复的主体
? 选择一台后端服务器
? 初始化到后端服务器的请求
? 重新初始化到后端的服务器的请求
? 处理来自后端服务器的回复
? 完成与后端服务器的交互
以上内容是参考Emiller 的 Nginx 模块开发指南,我觉得现在很多 网上已经偏离 了开源的精神,把一些资源变相用积分之类获得,所以 个人决定要贡献 一份力量 ,我会将自己看到的好资料都免费开放给大家下载。
‘).addClass(‘pre-numbering’).hide();
$(this).addClass(‘has-numbering’).parent().append($numbering);
for (i = 1; i <= lines; i++) { $numbering.append($('').text(i)); }; $numbering.fadeIn(1700);}); });
以上就介绍了 Nginx 模块自主开发一:开发前的了解,包括了方面的内容,希望对PHP教学有兴趣的朋友有所帮助。