Nginx启动流程
2016-05-06 15:53
441 查看
启动流程图如下:
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启动时框架的处理流程:
(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学习之一
- 企业级nginx服务优化(四 )伪静态+php.ini
- nginx源码学习资源
- 第2章 Nginx的配置
- LNMP(linux+nginx+mysql+php)服务器环境配置
- Nginx负载均衡配置实例详解
- nginx php fastcgi Connection reset by peer的原因及解决办法
- Nginx(负载均衡)+keepalived(双机热备)
- [nginx] 网上最全面nginx教程(近100篇文章整理)
- Nginx的工作模式和一些理解
- 企业级nginx服务优化(三 )Apache+防盗链
- Nginx安装
- nginx日志过滤相同IP方法
- 企业级nginx服务优化(二 )
- 安装成功的nginx如何添加未编译安装模块
- nginx location if 中使用proxy_pass
- 在linux系统下怎么安装两个nginx
- Nginx均衡负载(IP_HASH)未生效
- 基于keepalived实现nginx的高可用
- Nginx之让用户通过用户名密码认证访问web站点