12. Nginx 流程中 ngx_init_cycle
发布时间
阅读量:
阅读量
Nginx在完成ngx_add_inherited_sockets操作后,将执行ngx_init_cycle函数以构建新的cycle结构。通过以下代码的分析可以发现,在ngx_init_cycle函数内部,Nginx主要完成了以下几个关键步骤:
-
基于已有的旧cycle对象生成新的cycle对象,并借助旧cycle的相关信息,预估新cycle所需占用的内存资源
-
对新建的cycle结构进行初始化处理,其中包括文件的打开操作以及监听套接字的建立等任务
-
对配置文件内容进行解析与加载
-
执行各个模块的初始化流程
-
生成并写入pidfile文件,用于记录进程标识信息
-
若出现异常情况,则执行回滚操作,并关闭所有非必要的文件描述符以及监听套接字
/* core/ngx_core.h */
typedef struct ngx_cycle_s ngx_cycle_t;
/* core/ngx_cycle.h */
struct ngx_cycle_s { // ngx_cycle_t结构体定义
void ****conf_ctx; // 模块配置上下文数
全部评论 (0)
还没有任何评论哟~
