Nginx启动流程

启动流程图如下:

Nginx启动流程_第1张图片

Nginx启动时框架的处理流程:
(1)在Nginx启动时,首先会解析命令行,处理各种参数。
Nginx是以配置文件作为核心提供服务的。 配置文件nginx.conf的路径。
(2)平滑升级,不重启master进程而启动新版本的Nginx程序。
Nginx是通过环境变量来传递某些信息。
(3)调用ngx_init_cycle方法,初始化。
(4)调用 配置模块 提供的 解析配置项方法。
(5)调用所有NGX_CORE_MODULE核心模块的init_conf方法,让所有核心模块在解析完配置项后做综合性处理。
(6)创建不存在的目录,打开相应文件。
(7)按照listening数组中的每一个ngx_listening_t元素设置socket句柄并监听端口。
(8)调用所有模块的init_module方法,初始化模块。
(9)如果nginx.conf中配置为单进程工作模式:调用ngx_single_process_cycle方法进入单进程工作模式。调用所有模块的init_process方法。单进程工作模式的启动工作至此全部完成。
(10)如果进入master、worker工作模式:master进程启动流程执行完毕。由master进程按照配置文件中的worker进程的数目,启动子进程即调用ngx_start_worker_process方法。调用所有模块的init_process方法。worker进程启动至此全部完成。

你可能感兴趣的:(Nginx启动流程)