Nginx版本1.20 debug用的源码码云地址点这里
本人debug用的cento7的图形界面系统,cento7中安装clion2020.1
NGINX源码依赖安装yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
nginx源码采用automake编译,clion2020.1只支持cmake,debug用的源码已经做了转换,据说clion2022已经支持automake了,没试过
Nginx源码系列解读笔记,主要偏重个人比较感兴趣的部分内容,后续有其他新的兴趣点,将持续更新。。。
1、NGINX源码之:内存池ngx_palloc
2、NGINX源码之:ngx_array&ngx_list&ngx_string
3、NGINX源码之:ngx_buf&chain
4、NGINX源码之:ngx_queue
5、NGINX源码之:ngx_hash
6、NGINX源码之:模块配置解析(1)
7、NGINX源码之:模块配置解析(2)-配置初始化与合并
8、NGINX源码之:phase与handlers
9、NGINX源码之:listen和server_name命令与listening监听创建
10、NGINX源码之:location
11、NGINX源码之:event与epoll
12、NGINX源码之:请求处理
13、NGINX源码之:ngx_open_cached_file
14、NGINX源码之:filter机制
15、NGINX源码之:多进程通信与请求负载
16、NGINX源码之:upstream与proxy_pass代理机制
17、NGINX源码之:子请求与请求后置处理ngx_http_finalize_request
注:NGINX源码很多实现都是基于内核函数的封装,同时也会有一些奇技淫巧,特别是在内存管理方面,可以通过源码理解内核的一些机制的使用场景。不禁感慨,写内核的和硬件支持的才是真正的大佬。