nginx源码剖析--从main函数开始

本文从nginx的main函数出发,探讨服务器启动流程,包括全局变量初始化和IO事件进程启动。重点介绍了ngx_cycle_t结构体在配置文件与运行行为之间的桥梁作用,以及多进程与单进程模式下的事件处理。后续将详细解析这个核心结构体。
摘要由CSDN通过智能技术生成

八九月份找好工作之后,着实懒散了一段时间。现在回想起来,九月份没有做一件有意义的事情,成天都是胡思海想。现在工作基本上定下来了,打算这段时间直到毕业,好好学习几个方面的知识:

  1. 后台开发
  2. 数据存储

后台开发上主要是打算吃透nginx。为了达到这个目的,这段时间会写一系列的nginx源码剖析的文章。由于水平实在有限,可能会写相当长的时间,并且写的时候也会有许多问题。不过我总是会尽自己最大的努力的。

想起来,第一次尝试看nginx是在一年前了。时间过的很快,虽然一年过去了,还是有很多不懂的地方,因此写这个系列的博文主要还是想督促自己把它看透。


nginx是一个轻量级的web服务器。它性能好,设计优雅,因此无论从功能实现,还是架构设计上都值得我们研读。这篇博文从main函数开始。

main函数是服务器启动的入口,总的来说,main主要是做了两件事情。

  1. 初始化服务器的一些全局变量
  2. 启动各个IO事件进程

对于初始化任务,主要都是在ngx_init_cycle函数中完成。这个函数主要是完成对ngx_cycle_t结构体的初始化。Nginx所有动作都是围绕着ngx_cycle_t结构体进行的。Nginx的高度灵活性,主要就是来自于它的高可配置性,也就是说,在不需要改变源代码,只需要改变配置文件的情况下,就可以实现不同的功能。这是系统设计中的一个很重要的方法。而ngx_cycle_t结构体就是和可配置性息息相关的。

可以说,ngx_cycle_t是配置文件通往nginx实际运行的桥梁,配置文件可以通过改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值