前述
Nginx: 1.21.7
Os: unix
简略理解我的项目目录构造
auto
我的项目编译相干脚本
conf
我的项目配置
contrib
我的项目奉献
docs
我的项目文档
misc
杂项
src
我的项目源码
core
外围模块
event
事件模块,次要用于实现Nginx不同事件的解决逻辑
http
http服务模块,次要用于http服务的具体解决逻辑
mail服务模块,次要用于mail服务的具体解决逻辑
misc
杂项
os
零碎模块,次要解决雷同逻辑在不同零碎下的交互流程
stream
stream服务模块,次要用于stream服务的具体解决逻辑
粗读我的项目解决流程
浏览思路
- 寻找main入口
- if判断流程暂不波及外部具体解决流程,可先通过办法名猜想外部逻辑(办法名有歧义或不清晰的能够进入下一级简略理解外部逻辑)
- 画图剖析我的项目架构设计思路及外围逻辑
- 粗读外围逻辑
外围逻辑梳理(简版)
- Nginx源码之main
- Nginx源码之ngx_master_process_cycle
- ngx_worker_process_cycle
细读我的项目外围解决流程
浏览思路
- 针对粗读的我的项目架构,拆解外围办法的外部逻辑
- 善用全局搜寻
- 善用man命令查看零碎函数
- 学习我的项目架构设计模式
外围逻辑梳理(具体版)
- 事件处理流程
- 模块解决流程
补充浏览:
《NGINX源码浏览》
《Nginx HTTP申请解决流程》
By佐柱
转载请注明出处,也欢送偶然逛逛我的小站,谢谢 :)