nginx启动流程
(1)根据命令行得到配置文件路径
(2)如果处于升级中则监听环境变量里传递的监听句柄
(3)请用所有核心模块的create_conf方法生成存放配置项的结构体
(4)针对所有的核心模块解析nginx.conf配置文件
(5)调用所有核心模块的init_conf方法
(6)创建目录,打开文件,初始化共享内存等进程间的通信方式
(7)打开有Nginx模块从配置文件中读取到的监听端口
(8)调用所有模块的init_module方法
(9)以master多进程方式运行Nginx(进入master)【如果以单进程方式运行Nginx,则进入single模式,调用所有模块的init_process方法(一般不会)】
以下三个步骤多进程并发执行
(10)master进程
(11)启动worker进程 ——> 调用所有模块的init_process方法
(12)启动Cache manager进程 ——> 启动cache loader子进程 ——> 关闭父进程启动时监听端口