Skip to content

TitenWang/nginx-comment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nginx-comment

nginx1.10.0源代码注释

2016-05-29  完成了对进程间通信和slab共享内存的注解。对其中一些具体的实现细节仍有不是很理解的地方,如在ngx_slab_alloc_pages函数中为什么要将剩余连续可用页的最后一页的prev指针指向剩余连续可用页的首页。

2016-06-19  此次主要是完成了Nginx内部变量部分的注解,主要包括内部变量的定义、初始化和使用;还完成了rewrite模块的set命令部分的 注解,主要包括set命令涉及到的脚本引擎相关的内容。另外,新增一个doc目录,主要是用于存放自己在学习源码过程中学到的一些东西,并将上次关于slab的一个总结文档也进行了上传。

2016-07-13  此次主要是完成了Nginx启动流程以及master和worker进程工作流程的注解。

2016-07-18  此次主要是完成了Nginx事件驱动框架部分的注解,包括处理流程以及如何解决负载均衡和“惊群”问题的实现。有一个不解的地方,就是在某个子进程达到负载均衡阈值之后再一次开始处理事件时,并没有将所有的监听套接口从epoll中移除,那后续流程中是不是又会监控并处理监听套接口中的新建连接事件呢,和其他 子进程会不会冲突呢?

2016-07-19  此次主要是完成了Nginx文件异步I/O处理流程的注解,包括Nginx如何实现异步文件I/O、eventfd和epoll的结合。

2016-08-03  此次主要是增加了关于Nginx的信号控制以及eventfd、异步I/O和epoll结合的总结,并建立了一个用来输出总结的个人博客,并将之前的总结和这两篇总结移植到博客中,博客地址为:https://TitenWang.github.io/

2016-08-20  此次主要是完成了Nginx中http框架的初始化流程中的大部分,主要包括listen和server_name命令的解析、Nginx中[port,ip]的端口管理模式以及多server监听同一个ip:port时如何定位真正的server块等内容。除此之外还包括了http框架如何管理http{}、server{}、location{}块下的配置项, 以及对请求的11个处理阶段的初始化。

2016-09-02  此次主要是完成了Nginx中处理请求行、处理请求头部和处理请求的流程注解,以及处理包体(接收、丢弃包体)流程和发送响应(响应头部、相应包体)流程的注解。

2016-09-16  此次主要是完成了Nginx中upstream机制的基本流程,如初始化upstream、启动upstream、与上游客户端建链、发送请求、接收响应等,对upstream机制有了基本的了解。后续通过结合具体模块 分析upstream的其他细节。

2016-10-02  此次主要是完成了加权轮询算法的注解,包括算法实现的本身,以及如何和upstream机制结合起来。

2016-10-03  此次主要是完成了ngx_http_memcached_module模块的注解,加深了对upstream机制的理解。

2016-10-04  此次主要是完成了stream机制的注解,包括配置文件解析及配置项解析结果的组织、stream机制与事件驱动模块的结合、stream负载均衡、stream访问控制、stream限制单个ip的并发连接数以及stream代理等。    

2017-05-14 此次主要是完成了线程池ngx_thread_pool_module模块的注解,了解了其使用场景和具体的实现方式。

About

nginx-1.10.0 源码分析及注解,注解总结链接:

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published