Skip to content

zjlooojoe/annotated_nginx

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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支持变量。
  • 1.21.4支持内核TLS(kTLS),要求使用OpenSSL3.0,Linux内核高于4.17。
  • 1.21.5支持更新的PCRE2,但向上的封装接口不变。

请参考:

当前状态

Nginx 1.23.3

Git分支

分支 说明 注释
master Nginx开发版1.23.3
mainline Nginx开发版1.23.3
stable Nginx稳定版1.22.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(中文)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 97.4%
  • Vim Script 1.8%
  • XS 0.4%
  • C++ 0.2%
  • Perl 0.1%
  • Roff 0.1%