Skip to content

Commit

Permalink
nginx
Browse files Browse the repository at this point in the history
  • Loading branch information
y123456yz committed Jul 30, 2015
1 parent e0160e4 commit b1908c2
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 0 deletions.
7 changes: 7 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,11 @@ nginx的以下功能模块的相关代码已经阅读,并对其源码及相关
.任务处理完毕执行流程。
.资源回收过程


15.10.2
nginx变量(内部自定义变量以及配置文件中添加的变量)的定义解析过程分析。
脚本引擎代码分析
nginx十一个阶段处理重新详细分析。
rewrite机制详细分析,以及location{}定位进行进一步分析。


45 changes: 45 additions & 0 deletions nginx-1.9.2/阅读说明.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,49 @@ nginx的以下功能模块的相关代码已经阅读,并对其源码及相关
.任务处理完毕执行流程。
.资源回收过程


# reading-code-of-nginx-1.9.2
nginx-1.9.2代码理解及详细注释

为什么阅读nginx源码?
1.崇拜nginx的高并发性能。


由于平时工作中也主要做服务器端开发,加上喜欢研究开源源码,因此在周末及下班空余时间拜读下nginx源码。

7月底从nginx官网下载了最新源码,在开始读源码前对官网的主要英文文档做了大概阅读,然后开始正式阅读代码。

nginx的以下功能模块的相关代码已经阅读,并对其源码及相关数据结构进行了详细备注,主要参考书籍为淘宝陶辉先生
的《深入理解Nginx:模块开发与架构解析》,并对书中没有讲到的相关部分功能进行了扩展,通过边阅读边调试的方法
通读了以下功能模块,并对其进行了详细的注释,同时加了自己的理解在里面,注释比较详细,由于是周末和下班时间阅读,再加上自己
文采限制,代码及数据结构注释都比较白话,注释中肯定会有理解错误的地方。

截止15.9.19,已经分析并注释完成的主要功能如下:
.配置编译过程中相关脚本调用过程详细注释
.用户自由模块编译添加过程
.nginx使用的进程间通信方式(包括共享内存 原子操作 自旋锁 信号 信号两 文件锁 互斥锁 channel通信)
.nginx自定义高级数据结构详解(队列 链表 红黑树 散列表等)
.配置文件解析流程
.nginx启动、退出过程分析
.连接池 内存池分配管理过程
.对客户端链接如何实现负载均衡,“惊群”问题避免
.主动链接 被动链接过程分析
.epoll事件驱动机制,epoll模型详解,包括读写异步非阻塞处理机制及流程。
.时间机制及定时器详解.
.异步I/O,sendfile代码分析
.http框架处理流程及11个阶段处理及调用过程
.HTTP请求行、请求头部、包体异步读取解析过程
.HTTP异步非阻塞发送HTTP头部和包体过程
.HTTP阻塞任务如何拆分。
.任务处理完毕执行流程。
.资源回收过程


15.10.2
nginx变量(内部自定义变量以及配置文件中添加的变量)的定义解析过程分析。
脚本引擎代码分析
nginx十一个阶段处理重新详细分析。
rewrite机制详细分析,以及location{}定位进行进一步分析。



0 comments on commit b1908c2

Please sign in to comment.