nginx 源码笔记(1) 进程启动

一 main 简要分析
nginx 的好处在此不列举,分析下源码,记录下笔记,以待后续能够及时查阅。
源码分析习惯于从main的流程分析, nginx 的main函数,考虑master, worker场景,主要完成以下的功能。
1)解析命令行参数
2)从系统环境变量进程继承已打开的监听 fd
3)初始化支持模块的index
4)解析配置文件
5)启动woker进程
二 解析命令行参数
命令行参数介绍几个重要的
-p, 指定一个prefix, 配置文件读取和日志写入时再prefix 配置的目录下
-c, 指定配置文件
-g, 指定全局的参数
-s, 这个参数会影响到 nginx 的操作,可以取值stop,quit,reopen, reload等
三 从系统环境变量进程继承已打开的监听 fd
nginx重新加载时会通过环境变量来传递部分参数,其中就包含已经打开的fd
四 解析配置文件
nginx 进程启动时,会递归解析配置文件,将各模块的配置项进行进行,特别地,nginx http模块监听的端口此时会被添加到时间模块中去。当然所有模块的配置都是在此时完成解析

五 启动woker进程
最后,nginx 会启动worker进程,worker进程用来处理事件,包括网络事件和定时器事件。

总结
从进程启动的角度来开,nginx 和大多数进程一样,做配置解析,然后启动进程的业务出来流程,当然这5个部分是nginx进程启动时比较重要的工作,还有很多细节工作没有一一列出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值