OpenResty基于Nginx,把Web服务的整个生命周期和请求处理流程清晰地划分出了若干个阶段(Phase)
◆ 处理阶段:
一个Web 服务的生命周期可以分成三个阶段
initing:服务启动,该阶段通常是读取配置文件,初始化内部数据结构
running:服务运行,接受客户端的请求,返回响应结果
exiting:服务停止,做一些必要的清理工作,如关闭监听端口
OpenResty 目前关注的是initing 和running 这两个阶段,并做了更细致的划分。
1、initing 阶段:
initing 阶段在OpenResty 里分为三个子阶段:
configuration:读取配置文件,解析配置指令,设置运行参数
master-initing:配置文件解析完毕,master进程初始化公用的数据
worker-initing:worker 进程自己的初始化,进程专用的数据
2、running 阶段:
在running 阶段,收到客户端请求后,OpenResty对每个请求都会使用一个专门的“流水线”顺序进行处理,“流水线”上就是OpenResty 定义的处理阶段。
ssl:SSL/TLS 安全通信和验证
preread:在正式处理之前“预读”数据,接收 HTTP 请求头:
rewrite:检查、改写URI,实现跳转/重定向
access:访问权限控制
content:产生响应内容
filter:对content阶段产生的