Jvbzephir / annotated_nginx

Annotated Nginx Source(中文)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

annotated_nginx

Annotated Nginx Source(中文)

简介

Nginx源码分析,注解代码,帮助学习Nginx。

  • 1.10增加了动态模块、http2、reuseport。
  • 1.11.x里的stream模块的变动较大,完善了阶段处理。
  • 1.14增加了mirror模块,支持gRPC。
  • 1.15.10增加了range listen,指令“ssl_certificate”可从变量里加载证书。
  • 1.17.0不再支持OpenSSL 0.98,limit_rate/proxy_upload_rate支持变量。

请参考:

当前状态

Nginx 1.17.7

Git分支

分支 说明 注释
master Nginx开发版1.17.7
mainline Nginx开发版1.17.7
stable Nginx稳定版1.16.0

已注解

源码目录快捷入口

  • src - 70%,nginx源码目录
  • core - 90%,md5/sha1/crc等较简单的功能不关注
  • event - 90%,只注解核心模块和epoll,select/kqueue/ssl等不关注
  • http - 70%,少量modules目录里的具体功能模块有注释
  • os/unix - 80%,bsd/darwin/solaris等系统不关注
  • stream - 70%
  • misc - 100%

UML图解

UML图示

部分关键源码(目录分类)

core目录
event目录
http目录
http/modules目录
os/unix目录
stream目录
misc目录

部分关键源码(功能分类)

内存管理
数据结构
进程机制
事件机制
多线程机制
tcp(stream)处理
http处理

不注解

  • auto
  • mail

About

Annotated Nginx Source(中文)

License:BSD 2-Clause "Simplified" License


Languages

Language:C 96.6%Language:Vim Script 2.2%Language:C++ 0.5%Language:XS 0.4%Language:Perl 0.1%Language:Roff 0.1%Language:HTML 0.0%