网站大量收购独家精品文档,联系QQ:2885784924

Emiller的nginx模块开发指引.pdf

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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 的属性,同样,一

文档评论(0)

cgtk187 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档