- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
nginx模块开发公开课
* * * * * * * * * * * * * * 编码规范 风格图示 7,结构体数组的左花括号放在同一行上。 8,较大的结构体数组元素最开始空一行。 9,元素内容上下对齐。 编码规范 风格图示 10,注释上下对齐。 编码规范 风格图示 11,函数调用折行时,参数上下对齐。 12,函数定义时,类型单独一行。 13,变量声明的类型上下排列按照从短到长的顺序。注意,最下面的变量的类型和名称间的空格为2-3个。一般情况下为2个,这是Nginx中最小的变量声明中类型和名称的距离。 14,变量名称上下对齐——字母对齐,不包括指针的*号。 编码规范 风格图示 15,结构体内变量上下对齐(字母,不包括指针的的*号)。 编码规范 风格图示 16,单行注释格式为/* something */ 17,多行注释的格式为: /* * something */ 编码规范 风格图示 18,函数定义的左花括号独占一行。 19,switch语句中,switch和case关键字上下对齐。 编码规范 风格图示 20,当条件表达式过长需要折行时,关系运算符须位于下一行的行首,并与上一行的条件表达式的第一个字符对齐,同时右花括号须位于单独的一行,并与if/while等关键字对齐。 21,else语句之前须空出一行。 编码规范 风格图示 22,在函数中,相同类型的变量声明放在一行上。 * * * * * * * * * * * * * * * * * * * * * * * nginx模块开发 By 薛长俊2013-11 模块化 daemon Nginx模块开发 编码规范 模块化 模块分类 handlers,处理http请求并构造输出 filters,处理handler产生的输出 load-balancers,当有多于一个的后端服务器时,选择一台将http请求发送过去 模块化 一次常规请求和响应的过程 客户端发送HTTP请求 - Nginx根据配置选择一个合适的处理模块 - (如果有)负载均衡模块选择一台后端服务器,并负责完成后端的发送接收过程 - 处理模块进行处理并把输出缓冲放到第一个过滤模块上 - 第一个过滤模块处理后输出给第二个过滤模块 - 然后第二个过滤模块又到第三个 - 依此类推 - 最后把回复发给客户端。 模块化 函数执行时机 ? 当服务读配置文件之前 ? 读存在location和server或其他任何部分的每一个配置指令 ? 当Nginx初始化全局部分的配置时 ? 当Nginx初始化主机部分(比如主机/端口)的配置时 ? 当Nginx将全局部分的配置与主机部分的配置合并的时候 ? 当Nginx初始化位置部分配置的时候 ? 当Nginx将其上层主机配置与位置部分配置合并的时候 ? 当Nginx的主(master)进程开始的时候 ? 当一个新的工作进程(worker)开始的时候 ? 当一个工作进程退出的时候 ? 当主进程退出的时候 ? 处理请求 模块化 函数执行时机 ? 过滤回复的头部 ? 过滤回复的主体 ? 选择一台后端服务器 ? 初始化到后端服务器的请求 ? 重新初始化到后端的服务器的请求 ? 处理来自后端服务器的回复 ? 完成与后端服务器的交互 模块化 模块定义(objs/ngx_modules.c ) extern ngx_module_t ngx_core_module; extern ngx_module_t ngx_errlog_module; extern ngx_module_t ngx_conf_module; extern ngx_module_t ngx_events_module; … ngx_module_t *ngx_modules[] = { ngx_core_module, ngx_errlog_module, ngx_conf_module, ngx_events_module, …. } 模块化 ngx_module_t,ngx_module_s typedef struct ngx_module_s ngx_module_t; struct ngx_module_s { ngx_uint_t ctx_index; //分类的模块计数器,nginx模块分为四种:core、event、http和mail,每个模块都会各自计数。 ngx_uint_t index; //模块计数器,按照每个模块在ngx_modu
您可能关注的文档
- NACA0023三维机翼水动力性能数值解析.doc
- NBC(一式)系列气体保护焊机说明书(凯尔达).doc
- N 075 安全知识培训讲义.ppt
- NE553经典电路图.doc
- NTC抑制涌电流.doc
- NeuroAnatomy-Cranium & Encephalon讲义.ppt
- MRI诊断学(修改稿)讲义.ppt
- NSFC国家自然科学基金治理学部介绍.ppt
- NA1000MS发电机漏氢检验中玟说明书(单层主板).doc
- OFDM数字调幅广播时频同步问习题地研究.doc
- 强化训练华东师大版7年级下册期末试卷及答案详解(考点梳理).docx
- 强化训练华东师大版7年级下册期末试卷及答案详解(精选题).docx
- 强化训练华东师大版7年级下册期末试卷推荐附答案详解.docx
- 强化训练华东师大版7年级下册期末试卷及参考答案详解(研优卷).docx
- 强化训练华东师大版7年级下册期末试卷及参考答案详解(实用).docx
- 先进光伏结构件、DBC覆铜基板及氮化铝结构件新建项目可行性研究报告模板-备案拿地.doc
- 强化训练华东师大版7年级下册期末试卷参考答案详解.docx
- 强化训练华东师大版7年级下册期末试卷及完整答案详解1套.docx
- 强化训练华东师大版7年级下册期末试卷及参考答案详解【名师推荐】.docx
- 强化训练华东师大版7年级下册期末试卷【黄金题型】附答案详解.docx
文档评论(0)