Nginx 内核源码解析

2014-12-19 15:14:04   最后更新: 2016-07-25 21:27:43   访问数量:6217




nginx 基本架构

图解 nginx 完整流程

nginx 源码阅读中的问题

 

内存池结构 -- ngx_pool_t

nginx 连接池

nginx 锁的实现

 

ngxin 基本容器

循环双向链表结构 -- ngx_queue_t

动态数组结构 -- ngx_array_t

单链表结构 -- ngx_list_t

哈希表结构 -- ngx_hash_t

通配符哈希表 -- ngx_hash_wildcard_t

 

nginx 模块

nginx 模块相关结构

nginx epoll 模块

 

前期初始化

nginx源码目录结构及初始化过程

nginx 时间初始化

nginx log 模块初始化

nginx 内存池初始化

nginx 系统配置相关初始化

继承未关闭连接

 

核心初始化

ngx_cycle 的核心初始化工作(初步)

打开文件与共享内存链表初始化

监听连接数组、复用连接队列、模块配置上下文初始化

nginx 模块初始化

配置文件解析

创建socket并设置其属性

nginx 核心初始化收尾工作

 

守护进程的创建

守护进程的初始化,准备创建 worker 进程

worker 进程的创建

master 进程的守护过程

 

nginx worker 初始化

nginx 事件模块初始化

nginx 异步 IO 初始化 -- ngx_epoll_aio_init

worker 的信号处理 -- nginx worker 进程主循环流程

事件驱动函数 -- ngx_process_events_and_timers

惊群现象的处理与负载均衡的实现

 

初始化

http 模块配置解析

nginx http 监听配置解析及虚拟主机的实现

nginx loacation 与 server 的查询优化

HTTP 请求的 11 个处理阶段

 

http 框架处理流程

HTTP 连接的建立 -- ngx_http_init_connection

HTTP 请求的接收 -- ngx_http_wait_request_handler

HTTP 请求行解析 -- ngx_http_process_request_line

HTTP 请求 HEADER 的处理与解析 -- ngx_http_process_request_headers

HTTP 请求处理的 11 个阶段 -- ngx_http_handler

nginx location 配置及解析 -- ngx_http_core_find_location

访问权限校验 -- ngx_http_core_access_phase

rewrite 规则的处理 -- ngx_http_rewrite_handler

静态请求处理 -- ngx_http_static_handler

 

upstream 与 subrequest

upstream 及其相关的数据结构

upstream 的启动 -- ngx_http_proxy_handler

upstream 机制的启动与初始化及请求的发送

 



京ICP备15018585号