Nginx开发从入门到精通 学习目录分享学习 (阿里著作)

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模块开发篇
    • 背景介绍
      • nginx历史
      • 使用简介
      • nginx特点介绍
    • nginx平台初探(100%)
      • 初探nginx架构(100%)
      • nginx基础概念(100%)
        • connection
        • request
      • 基本数据结构(99%)
        • ngx_str_t(100%)
        • ngx_pool_t(100%)
        • ngx_array_t(100%)
        • ngx_hash_t(100%)
        • ngx_hash_wildcard_t(100%)
        • ngx_hash_combined_t(100%)
        • ngx_hash_keys_arrays_t(100%)
        • ngx_chain_t(100%)
        • ngx_buf_t(99%)
        • ngx_list_t(100%)
        • ngx_queue_t(100%)
      • nginx的配置系统(100%)
        • 指令概述
        • 指令参数
        • 指令上下文
      • nginx的模块化体系结构
      • 模块概述
        • 模块的分类
      • nginx的请求处理
        • 请求的处理流程
    • handler模块(100%)
      • handler模块简介
      • 模块的基本结构
        • 模块配置结构
        • 模块配置指令
        • 模块上下文结构
        • 模块的定义
      • handler模块的基本结构
      • handler模块的挂载
        • 按处理阶段挂载
        • 按需挂载
      • handler的编写步骤
      • 示例: hello handler 模块
      • handler模块的编译和使用
        • config文件的编写
        • 编译
        • 使用
      • 更多handler模块示例分析
        • http access module
        • http static module
        • http log module
    • 过滤模块 (90%)
      • 过滤模块简介 (90%)
        • 执行时间和内容 (90%)
        • 执行顺序 (90%)
        • 模块编译 (90%)
      • 过滤模块的分析 (90%)
        • 相关结构体 (90%)
        • 响应头过滤函数 (90%)
        • 响应体过滤函数 (90%)
    • upstream模块
      • upstream模块 (100%)
        • upstream模块接口
        • memcached模块分析
        • 本节回顾
      • 负载均衡模块 (100%)
        • 配置
        • 指令
        • 钩子
        • 初始化配置
        • 初始化请求
        • peer.get和peer.free回调函数
        • 本节回顾
    • 其他模块 (40%)
      • core模块 (40%)
        • Nginx的启动模块 (40%)
      • event模块 (40%)
        • event的类型和功能 (40%)
        • accept锁 (40%)
        • 定时器 (40%)
      • mail模块
        • mail模块的实现
        • mail模块的功能
    • 模块开发高级篇(30%)
      • 变量(80%)
        • 综述
        • 创建变量
        • 使用变量
      • upstream
        • 使用subrequest访问upstream
        • 超越upstream
      • 使用lua模块
  • 下篇:nginx原理解析篇
    • 高性能服务器设计
      • c10k问题
      • 高性能服务器编写的关键原则
      • 事件驱动的核心引擎
      • 定时器管理
    • nginx架构详解(50%)
      • nginx的源码目录结构(100%)
      • nginx的configure原理(100%)
        • auto脚本
        • 模块编译顺序
      • nginx的事件机制
        • event框架及非阻塞模型
        • 定时器实现
        • 信号处理
        • 惊群问题
      • nginx的进程机制
        • master进程
        • worker进程
        • 进程间通讯
    • nginx基础设施
      • 内存池
        • 简介:
        • 结构:
        • 实现:
      • 共享内存
        • slab算法
      • buffer管理
        • buffer重用机制
        • buffer防拷贝机制
      • chain管理
        • chain重用机制
      • aio原理
      • 锁实现
      • 基本数据结构
      • 时间缓存
      • 文件缓存
      • log机制
    • nginx的启动阶段 (30%)
      • 概述 (100%)
      • 共有流程 (100%)
        • 配置解析接口 (100%)
      • 配置解析
        • 通用过程 (100%)
        • http的解析
        • server的管理
        • location的管理
      • 模块初始化
      • 热代码部署
        • reload过程解析
        • upgrade过程解析
    • nginx的请求处理阶段 (90%)
      • 接收请求流程 (99%)
        • http请求格式简介 (99%)
        • 请求头读取 (99%)
        • 请求体读取(100%)
      • 多阶段处理请求
        • 多阶段执行链
        • POST_READ阶段
        • SERVER_REWRITE阶段
        • FIND_CONFIG阶段
        • REWRITE阶段
        • POST_REWRITE阶段
        • PREACCESS阶段
        • ACCESS阶段
        • POST_ACCESS阶段
        • TRY_FILES阶段
        • CONTENT阶段
        • LOG阶段
      • Nginx filter
        • header filter分析
        • body filter分析
      • subrequest原理解析 (99%)
      • https请求处理解析
        • nginx支持ssl简介
        • ssl连接建立(ssl握手)
    • nginx的upstream原理解析
      • 无缓冲的处理流程
      • 带缓冲的处理流程
      • subrequest访问upstream的处理流程
      • 负载均衡算法
        • round-robin算法
        • 基于ip的hash算法
      • upstream缓存机制
      • 常用upstream模块分析
        • proxy模块
        • fastcgi模块
    • nginx的script处理
      • 正则表达式
      • 变量
      • 复杂变量
      • if的处理
  • 附录A 编码风格 (100%)
    • Nginx代码风格图示 (100%)
  • 附录B 常用API
    • B.1 字符串操作
    • B.2 读取请求体
    • B.3 操作请求头
    • B.4 取参数
    • B.5 URI处理
    • B.6 buffer操作
    • B.7 变量操作
    • B.8 日志输出
    • B.9 配置解析接口
    • B.10 文件操作
    • B.11 锁操作
  • 附录C 模块编译,调试与测试
    • C.1 编译与安装
      • 环境要求
      • 下载
      • Nginx在Windows环境下安装
      • Nginx在Linux环境下安装
      • 测试
      • Nginx在Windows环境下查看nginx进程
      • Nginx在Linux环境下查看nginx进程
    • C.2 调试日志
      • 一,开启调试日志:
      • 二,日志级别分析:
      • 三,日志格式设置:
      • 四,调试日志的几个注意点:
    • C.3 使用GDB调试
    • C.4 功能测试
    • C.5 性能/压力测试
    • C.6 常见缺陷分析
 

团队成员

叔度 (http://blog.zhuzhaoyuan.com)

雕梁 (http://www.pagefault.info)

文景 (http://yaoweibin.cn)

李子 (http://blog.lifeibo.com)

卫越 (http://blog.sina.com.cn/u/1929617884)

袁茁 (http://yzprofile.me)

小熊 (http://dinic.iteye.com)

吉兆 (http://jizhao.blog.chinaunix.net)网址:yii666.com<文章来源地址:https://www.yii666.com/article/754011.html

静龙 (http://blog.csdn.net/fengmo_q)

竹权 (http://weibo.com/u/2199139545)文章地址https://www.yii666.com/article/754011.html

公远 (http://100continue.iteye.com/)网址:yii666.com

布可 (http://weibo.com/sifeierss)文章来源地址https://www.yii666.com/article/754011.html

版权声明:本文内容来源于网络,版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。文本页已经标记具体来源原文地址,请点击原文查看来源网址,站内文章以及资源内容站长不承诺其正确性,如侵犯了您的权益,请联系站长如有侵权请联系站长,将立刻删除

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

  1. [Linux]经典面试题 - 网络基础 - TCP三次握手

  2. Nginx开发从入门到精通 学习目录分享学习 (阿里著作)

  3. Linux运维相关目录

  4. Wireshark基本介绍和学习TCP三次握手(转)

  5. SSL/TLS 握手过程详解

  6. HTTP请求过程-域名解析和TCP三次握手建立链接

  7. Linux和Shell回炉复习系列文章总目录

  8. 脑残式网络编程入门(一):跟着动画来学TCP三次握手和四次挥手

    、引言网络编程中TCP协议的三次握手和四次挥手的问题,在面试中是最为常见的知识点之一。很多读者都知道“三次”和“四次”,但是如果问深入一点,他们往往都无法作出准确回答。本篇文章尝试使用动画图片的方式,来对这个知识点进行“脑残式”讲解(哈哈),期望

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信图片_20190322181744_03.jpg

微信扫一扫打赏

请作者喝杯咖啡吧~

支付宝扫一扫领取红包,优惠每天领

二维码1

zhifubaohongbao.png

二维码2

zhifubaohongbao2.png