nginx cycle

   在系统整个运行过程中,需要使用的一些参数、资源需要统一的管理,nginx把这个任务交给了ngx_cycle_t

 

 

 

 

conf_ctx              指向模块的配置

 

pool                    内存池

log                      日志

 

new_log              新日志

files                      存放socket和connection之间的关系

 

free_connections      空闲连接池

 

free_connection_n      空闲连接的个数

 

listening   监听者,用于监听外部的连接。

 

pathes  整个系统中使用的路径集合,比如 client_body_temp ,proxy_temp 等,这个也是在nginx_cycle.c 中的ngx_init_cycle中分配的,和上面listening分配方式差不多,实际路径的添加是在 ngx_file.c 中的 ngx_add_path 函数中

 

open_files 打开文件的集合,当需要打开一个文件时,先在这里找,如果找到直接返回,否则打开文件,放到这个集合中。文件代开在ngx_conf_file.c中的ngx_conf_open_file函数中实现的

 

shared_memory 系统所有的共享内存,如果往里面添加共享内存,需要检查下是否已经存在了,存在就不用放了,否则就放进去,在函数ngx_shared_memory_add函数中实现。

 

connection_n;           总的预先创建的connection数目

 

files_n                      总的文件数目,不过好像没有设置,待确认

 

connections 所有的连接,free_connection也是指向它所指向的空间的

 

read_events write_events  读写事件,他们的个数和connection一样的,并且在初始化的时候,一个connection关联一个读事件、一个写事件。

 

old_cycle                  旧的全局信息

 

conf_file                   配置文件,如果系统默认,那么直接从objs/ngx_auto_conf.h中读取,也可以在通过参数设定

 

conf_param;             配置参数

 

conf_prefix;              配置文件前缀

 

prefix;                     系统安装路径前缀

 

lock_file;                 锁文件

 

hostname;                主机名

 

 

 

 

 

 

        整个结构的初始化在nginx.c 中的ngx_init_cycle 中进行,下面介绍下这个函数

 

 

 

最后还剩下一部分比较乱,下次来补充

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值