My Octopress Blog

life and I

Nginx Module编写

| Comments

模块简介

nginx 的模块在源码中对应着是ngx_module_t结构的变量, 有一个全局的ngx_module_t指针数组,这个指针数组包含了当前编译版本支持的所有模块, 这个指针数组的定义是在自动脚本生成的objs/ngx_modules.c文件中

nginx启动的过程:

nginx是一个master主进程+多个worker子进程的工作模式 ,nginx主进程启动的过程中会按照初始化master、初始化模块、初始化工作进程、( 初始化线程、退出线程)、 退出工作进程、退出master顺序进行,而在这些子过程内部和子过程之间,又会有读取配置、创建配置、 初始化配置、合并配置、http解析、http过 滤、http输出、http代理等过程,在这些过程开始前后、过程中、结束前后等时机, nginx调用合适的模块接口完成特定的任务

所 谓的合适模块接口,是各个模块通过一些方式注册到系统内的回调函数,这些回调函数都要符合一定的接口规范

Hello World

参考

nginx

nginx源码分析

nginx模块开发

解剖Nginx·模块开发篇

Nginx模块开发指南中文版

Emiller’s Guide To Nginx Module Development

nginx 源码学习笔记

Comments