- 1、本文档共34页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Emiller的nginx模块开发指引
要非常感谢nginx,它帮助我更加了解蝙蝠侠这个喜剧角色。
蝙蝠侠很快,nginx也很快。蝙蝠侠在与罪恶斗争,nginx在与浪费CPU 、内存泄漏
等现象做斗争。蝙蝠侠在压力下能保持良好状态,nginx在强大的服务请求压力下表现出
色。
但是,蝙蝠侠如果没有那根蝙蝠侠万能腰带(batman utility belt),那他就什么都
不是。
在任何时候,蝙蝠侠的万能腰带都应该包括一个锁扣、几个 batarang(蝙蝠侠的特殊武
) bat-cuff( ) bat-tracer( ) bat-darts(
器 、几个 护腕 、夜视眼镜、 跟踪器? 、几个 蝙蝠
镖)...或者还包括一个apple iphone 。当蝙蝠侠需要使他的敌人失明、失聪、或者晕倒,
或者当他需要跟踪他的敌人,或者给他的敌人发个短信,你最好相信他正在他的万能腰带
上找一个合适的工具。这根腰带对蝙蝠侠的行动如此至关重要,所以,当蝙蝠侠在选择穿裤
子还是穿腰带的时候,他肯定会选择穿腰带。事实上他确实选择了腰带,这就是为什么蝙蝠
侠穿着紧绷的橡胶衣,而没有穿裤子。
虽然nginx 没有这样一条万能腰带,但是nginx 有一个模块链(module chain),当
nginx 需要对应答进行gzip 或chunked 编码时,它会拿出一个模块来做这个工作。当
nginx IP http
基于 或 认证来阻拦对某些资源的访问时,也是由一个模块来做这些工作
的。同样,当nginx 需要和memcahed 或者fastCG 交互时,也分别由对应的模块来做
相应的工作。
尽管蝙蝠侠的万能腰带上有很多小玩意,但是有时候他还是需要一个新的小工具。也许他有
( batarang bat-cuff)
新的敌人,而他现在的武器 如 或 都不足以对付这个敌人。也许他
需要有新的技能,比如在水下呼吸。所以他会让Lucius Fox 来帮他设计这些小工具。
这个文档会告诉你nginx模块链表(module chain)的一些细节,这样你就可以做到像
Lucius Fox 一样。当你完成这个课程,你将可以设计并写出高质量的模块,来完成
nginx 以前做不了的事。Nginx 的模块系统有很多需要注意的细节,所以你可能需要经常
返回这篇文档阅读。我已尽力将这些内容梳理清楚,但我比较愚钝,写 nginx模块仍然是
很费力的一件事情。
0 前提条件(prerequisites)
C C C
你需要熟悉 。不仅仅是 语言语法;你需要熟悉 结构体相关的知识;不能被指针和函数
C
引用所吓倒;对预编译、宏有一定的认识。如果你需要提高一下 语言方面的知识,没有什
KR
么比这更好了: 。
对HTTP协议的了解很有用,毕竟你是在一个webserver 之上工作。
你也应该对nginx 的配 文件非常熟悉。如果你不熟悉它,这里有一个简短的介绍:配
4 context( main,server,upstream,location) context
文件中有 种 分别叫 。每个
中可以包含数个拥有一个或多个参数的指令。在main context 中的指令对所有事情生效;
在server context 中的指令对一个特定的host/port 生效;在upstream context
中的指令对后端的一组server 生效;在location context 中的指令仅对能匹配到的
web ( /,/images ) location context
地址 如 等 生效。一个 会继承包含它的
server context 的属性,同样,一
您可能关注的文档
- Android(安卓)手机ROOT终极破解(支持目前所有系统版本_2012-4-4_更新).pdf
- A14_安培力_磁场对电流的作用_带电粒子在电场和磁场中的运动.doc
- Android的下一个目标.pdf
- ANSYS精华.pdf
- AnyCasting模拟软件在摩托车铝合金轮毂模具设计中的应用.pdf
- APC200A-43冰河无线.pdf
- apim浅谈社会发展趋势JWW.pdf
- AP岗位培训模式.doc
- ao__ou__iu第二课时.ppt
- ARCSCAN自动矢量化.pdf
- 中国国家标准 GB/T 45390-2025动力锂电池生产设备通信接口要求.pdf
- 中国国家标准 GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型.pdf
- 《GB/T 45393.2-2025信息技术 建筑信息模型(BIM)软件 第2部分:参数化模型》.pdf
- GB/T 10184-2025电站锅炉性能试验规程.pdf
- 海尔智家股份有限公司海外监管公告 - 海尔智家股份有限公司2024年度环境、社会及管治报告.pdf
- 上海复旦张江生物医药股份有限公司2024 环境、社会及管治报告.pdf
- 中国邮政储蓄银行股份有限公司中国邮政储蓄银行2024年可持续发展报告.pdf
- 豫园股份:2024年环境、社会及管治(ESG)报告.pdf
- 南京熊猫电子股份有限公司海外监管公告 - 2024年度环境、社会及治理(ESG)报告.pdf
文档评论(0)