nginx : ngx_cycle_t结构体
来源:互联网 发布:ubuntu卸载搜狗 编辑:程序博客网 时间:2024/06/05 17:56
//我们来看一看这神奇的ngx_cycle_s结构体吧,看一看庐山真面目.struct ngx_cycle_s { /* 保存着所有模块配置项的结构体指针p,它首先是一个数组, 该数组每个成员又是一个指针,这个指针又指向了存储着指针的数组.*/ void **** conf_ctx ; //内存池 ngx_pool_t * pool ; /*日志模块中提供了生成基本ngx_log_t日志对象的功能, 这里的log实际上是在在没有执行ngx_init_cycle方法前, 也就是还没有解析配置项前,如果有信息需要输出到日志, 就会暂时使用log对象,它会输出到屏幕.在执行ngx_init_cycle方法后, 会根据nginx.conf配置文件中的配置项,构造出正确的日志文件, 此时会对log重新赋值. */ ngx_log_t * log ; /* 由nginx.conf配置文件读取到日志路径后,将开始初始化error_log日志文件, 由于log对象还在用于输出日志到屏幕,这时候new_log将暂时替代log, 待初始化成功后,会用new_log的地址覆盖上面的指针.*/ ngx_log_t new_log ; //下面files数组里元素的总数 ngx_uint_t files_n ; /* 对于epoll,rtsig这样的事件模块,会以有效文件句柄树来预先建立 这些ngx_connection_t结构体,以加速事件的收集,分发.这时files就会 保存所有ngx_connection_t的指针组成的数组,而文件句柄的值用来访问 files数组成员. */ ngx_connection_t ** files ; //可用连接池,与free_connection_n配合使用 ngx_connection_t * free_connections ; //连接池的个数 ngx_uint_t free_connection_n ; //可重用的连接队列 ngx_queue_t reusable_connections_queue ; //动态数组,每个成员存储ngx_listening_t成员,表示监听端口以及相关的参数 ngx_array_t listening ; /* 动态数组,保存着nginx所有要操作的目录,如果目录不在,将创建, 如果创建失败(例如权限不够),nginx将启动失败.*/ ngx_array_t paths ; /* 单链表容器,元素类型是ngx_open_file_t结构体,他表示nginx已经打开的 所有文件.事实上nginx框架不会向open_files链表中添加文件, 而是由对此感兴趣的模块向其中添加文件路径名, nginx会在ngx_init_cycle方法中打开这些文件.*/ ngx_list_t open_files ; /* 单链表容器,每一个元素表示一块共享内存*/ ngx_list_t shared_memory ; //当前进程中所有连接对象的总数,于下面的connections成员配合使用. ngx_uint_t connection_n ; //指向当前进程中多有连接对象 ngx_connection_t * connections ; //指向当前进程中所有读事件 ngx_event_t * read_events ; //指向当前进程中所有写事件 ngx_event_t * write_events ; /* 旧的ngx_cycle_t对象,用于引用上一个ngx_cycle_t对象中的成员. 例如 ngx_init_cycle方法在启动初期,需要建立一个临时ngx_cycle_t 对象来保存一些变量,再调用ngx_init_cycle方法时,就可以把 旧的ngx_cycle_t对象传进去,而这时,这个old_cycle指针 就会保存这个前期的ngx_cycle_t对象 */ ngx_cycle_t * old_cycle ; //配置文件相对于安装目录的路径 ngx_str_t conf_file ; /* nginx处理配置文件时需要特殊处理的在命令行携带的参数, 一般是 -g选项携带的参数 */ ngx_str_t conf_param ; //nginx配置文件路径 ngx_str_t conf_prefix ; //nginx安装路径 ngx_str_t prefix ; //用于进程间同步的文件所名称 ngx_str_t lock_file ; //使用gethostname系统调用得到的主机名 ngx_str_t hostname ;};
0 0
- nginx : ngx_cycle_t结构体
- Nginx源码阅读(ngx_cycle_t)
- nginx学习十 ngx_cycle_t 、ngx_connection_t 和ngx_listening_t
- nginx学习十二 ngx_cycle_t 和 ngx_init_cycle
- nginx学习十 ngx_cycle_t 、ngx_connection_t 和ngx_listening_t
- Nginx源码剖析--ngx_cycle_t的初始化
- nginx 常见的结构体
- nginx结构
- nginx结构
- Nginx学习之三-ngx_http_request_t结构体
- Nginx学习笔记(十二):核心结构体
- Nginx学习之三-ngx_http_request_t结构体
- Nginx基本数据结构之ngx_http_request_t结构体
- Nginx学习之三-ngx_http_request_t结构体
- Nginx学习之三-ngx_http_request_t结构体
- Nginx源码剖析--ngx_cycle_s结构体分析
- Nginx的http配置结构体的组织结构
- Nginx的http配置结构体的组织结构
- EJB-08:Entity高级特性
- BAT 批处理脚本 教程
- EJB-09:事务
- 使用 Log::Minimal 记录程序日志
- 四款python中文分词系统简单测试
- nginx : ngx_cycle_t结构体
- Image / file upload with CodeIgniter
- EJB-10:Security
- poj1484||zoj1195 Blowing Fuses (模拟)
- Exchange 2010 OWA部分用户不能访问
- 黑马程序员-java的学习感悟
- EJB-11:Time Service
- Sqlserver2012 alwayson部署攻略
- EJB-12:EJB补充知识