nginx源码分析—启动流程

本文详细分析了Nginx的启动流程,从main()函数开始,包括ngx_get_options()参数解析,ngx_time_init()时间初始化,ngx_cycle结构初始化,ngx_os_init()系统变量设置,信号处理,ngx_init_cycle()周期初始化,以及master/worker进程循环。重点关注了工作模式、配置宏定义和其他初始化开关。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

作者:阿波
本文链接: http://blog.csdn.net/livelylittlefish/article/details/7243718
Content

0. 序
1. main()分析
2. 注意问题
2.1 几个初值
2.2 nginx工作模式
2.3 一些配置
2.4 其他开关
3. 小结

0.

本文主要分析nginx主程序。

nginx主程序main()实现文件:./src/core/nginx.c.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4

1. main()分析

nginx启动过程如下。

  • 调用ngx_get_options()解析命令参数;
  • 调用ngx_time_init()初始化并更新时间,如全局变量ngx_cached_time
  • 调用ngx_log_init()初始化日志,如初始化全局变量ngx_prefix,打开日志文件ngx_log_file.fd
  • 清零全局变量ngx_cycle,并为ngx_cycle.pool创建大小为1024B的内存池;
  • 调用ngx_save_argv()保存命令行参数至全局变量ngx_os_argvngx_argcngx_argv中;
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值