Nginx开发从入门到精通

 

缘起

nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部原理,但是国内却没有一本关于这方面的书,源于此我们决定自己来写一本。本书的作者为淘宝核心系统服务器平台组的成员,本书写作的思路是从模块开发逐渐过渡到nginx原理剖析。书籍的内容会定期在这里更新,欢迎大家提出宝贵意见,不管是本书的内容问题,还是字词错误,都欢迎大家提交issue(章节标题的左侧有评注按钮),我们会及时的跟进。

更新历史

日期 描述
2012/03/01 创建目录大纲
2012/03/28 增加了样章
2012/05/25 更新样章
2012/06/08 增加第5章
2012/06/11 增加第4章
2012/06/26 增加第6章(event module)
2012/06/27 更新第5章部分内容
2012/07/04 更新第6章event module部分内容
2012/07/12 增加第12章(请求头读取,subrequest解析)
2012/08/14 增加第2章(nginx基础架构及基础概念)
2012/08/14 增加第2章(ngx_str_t数据结构介绍)
2012/08/17 增加第7章(模块开发高级篇之变量)
2012/08/25 增加第11章(nginx的启动阶段部分内容)
2012/09/26 增加第2章(ngx_array_t,ngx_hash_t及ngx_pool_t介绍)
2012/10/08 增加第11章(配置解析综述)
2012/10/12 增加第2章(ngx_hash_wildcard_t,ngx_hash_combined_t及ngx_hash_keys_arrays_t介绍)
2012/10/21 增加第2章(ngx_chain_t,ngx_list_t及ngx_buf_t介绍)
2012/11/09 增加第12章(请求体的读取和丢弃解析)
2012/11/24 更新第2章(ngx_buf_t的部分字段以及其他一些书写错误和表达)
2012/12/18 更新第11章(解析http块)
2012/12/10 增加第3章的内容
2012/12/28 补充和完善了第3章的内容
2013/01/25 增加了第2章(nginx的配置系统)
2013/02/18 增加了第2章(nginx的模块化体系结构, nginx的请求处理)
2013/03/05 增加了第12章部分内容(多阶段请求处理)
2013/03/08 完成第11章第1节(配置解析综述、ngx_http_block)
2013/04/16 完成第9章第1节(源码目录结构、configure原理)
2013/09/30 完成第12章部分内容(多阶段执行链各个阶段解析)
2013/10/11 完成第12章部分内容(filter解析)
2013/10/11 完成第12章部分内容(ssl解析)
 

版权申明

本书的著作权归作者淘宝核心系统服务器平台组成员所有。你可以:

  • 下载、保存以及打印本书
  • 网络链接、转载本书的部分或者全部内容,但是必须在明显处提供读者访问本书发布网站的链接
  • 在你的程序中任意使用本书所附的程序代码,但是由本书的程序所引起的任何问题,作者不承担任何责任

你不可以:

  • 以任何形式出售本书的电子版或者打印版
  • 擅自印刷、出版本书
  • 以纸媒出版为目的,改写、改编以及摘抄本书的内容
 

目录

Nginx开发从入门到精通 学习目录分享学习 (阿里著作)的更多相关文章

  1. Nginx开发从入门到精通

    nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块 的开发以及它的内部原理,但是国内却没有一本关于这方面的 ...

  2. Nginx开发从入门到精通 nginx平台初探

    初探nginx架构(100%) 众所周知,nginx性能高,而nginx的高性能与其架构是分不开的.那么nginx究竟是怎么样的呢?这一节我们先来初识一下nginx框架吧. nginx在启动后,在un ...

  3. nginx教程从入门到精通

    [转]nginx教程从入门到精通 nginx教程写了一段时间,无意中发现,nginx相关文章已经达到了近100篇了.觉得很有必要汇总到一起,它是我们运维生存时间的一片心血,他是学习nginx的同学必看 ...

  4. C# Windows服务开发从入门到精通

    一.课程介绍 大家都知道如果想要程序一直运行在windows服务器上,最好是把程序写成windows服务程序:这样程序会随着系统的自动启动而启动,自动关闭而关闭,不需要用户直接登录,直接开机就可以启动 ...

  5. 《Java 开发从入门到精通》—— 2.3 使用IDE工具序

    本节书摘来异步社区<Java 开发从入门到精通>一书中的第2章,第2.3节,作者: 扶松柏 , 陈小玉,更多章节内容可以访问云栖社区"异步社区"公众号查看. 2.3 使 ...

  6. ASP.NET MVC4入门到精通系列目录汇总

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

  7. ASP.NET MVC4入门到精通系列目录汇总(转)

    序言 最近公司在招.NET程序员,我发现好多来公司面试的.NET程序员居然都没有 ASP.NET MVC项目经验,其中包括一些工作4.5年了,甚至8年10年的,许多人给我的感觉是:工作了4.5年,We ...

  8. android 开发从入门到精通

    Android-Tips This is an awesome list of tips for android. If you are a beginner, this list will be t ...

  9. 我的新书《Android App开发从入门到精通》终于出版啦

    前言 经过了两年多终于完成了这本书,2016年9月份开始写的,到今天为止2年零2个月,本书的内容大部分是去年完成的,看过我去年总结的读者可能知道,去年事情很多太忙了,导致本命年这本书没有上架(有点小小 ...

随机推荐

  1. 使用MyBatis Generator自动创建代码

    SSM框架--使用MyBatis Generator自动创建代码 1. 目录说明 使用自动生成有很多方式,可以在eclipse中安装插件,但是以下将要介绍的这种方式我认为很轻松,最简单,不需要装插件, ...

  2. submit(提交)按钮

    为form添加一个submit(提交)按钮,点击这个按钮,表单中的数据将会被发送到通过action属性指定的地址上. 下面是submit按钮的例子: <button type="sub ...

  3. Java文件获取路径方式:

    转自:http://blog.csdn.net/appleprince88/article/details/11599805# 谢谢! 由于经常需要获取文件的路径,但是比较容易忘记,每次需要总需要查询 ...

  4. 《Linux内核设计与实现》读书笔记(十五)- 进程地址空间(kernel 2.6.32.60)

    进程地址空间也就是每个进程所使用的内存,内核对进程地址空间的管理,也就是对用户态程序的内存管理. 主要内容: 地址空间(mm_struct) 虚拟内存区域(VMA) 地址空间和页表 1. 地址空间(m ...

  5. C#函数式编程之标准高阶函数

    何为高阶函数 大家可能对这个名词并不熟悉,但是这个名词所表达的事物却是我们经常使用到的.只要我们的函数的参数能够接收函数,或者函数能够返回函数,当然动态生成的也包括在内.那么我们就将这类函数叫做高阶函 ...

  6. [MSSQL2012]First_Value函数

    First_Value返回结果集中某列第一条数据的值,跟TOP 1效果一样,比较简单的一个函数 先贴测试用代码 DECLARE @TestData TABLE(     ID INT IDENTITY ...

  7. 第十六章:异步处理之AsyncTask的应用

    前言 我们知道Android的UI主线程主要负责处理用户的按键事件.用户的触屏事件以及屏幕绘图事件等:既然UI老人家都这么忙了,我们这些开发者肯定不能不识趣的去添乱阻塞UI线程什么的,否则UI界面万一 ...

  8. Linux 进程

    Linux 进程 在用户空间,进程是由进程标识符(PID)表示的.从用户的角度来看,一个 PID 是一个数字值,可惟一标识一个进程.一个 PID 在进程的整个生命期间不会更改,但 PID 可以在进程销 ...

  9. clearing & settlement

    http://blog.donews.com/tianshun/archive/2013/07/ http://wenku.baidu.com/view/e5a736e3e53a580217fcfe1 ...

  10. SpringMVC从一个controller跳转到另一个controller

    return "redirect:……路径……"; @RequestMapping(value = "/index", method = RequestMeth ...