nginx : ngx_cycle_t结构体

2024-08-24 16:18
文章标签 nginx 结构 cycle ngx

本文主要是介绍nginx : ngx_cycle_t结构体,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//我们来看一看这神奇的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 ;
};

这篇关于nginx : ngx_cycle_t结构体的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102974

相关文章

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)

nginx中端口无权限的问题解决

《nginx中端口无权限的问题解决》当Nginx日志报错bind()to80failed(13:Permissiondenied)时,这通常是由于权限不足导致Nginx无法绑定到80端口,下面就来... 目录一、问题原因分析二、解决方案1. 以 root 权限运行 Nginx(不推荐)2. 为 Nginx

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析(结合应用场景)

《nginx-t、nginx-sstop和nginx-sreload命令的详细解析(结合应用场景)》本文解析Nginx的-t、-sstop、-sreload命令,分别用于配置语法检... 以下是关于 nginx -t、nginx -s stop 和 nginx -s reload 命令的详细解析,结合实际应

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

如何使用Maven创建web目录结构

《如何使用Maven创建web目录结构》:本文主要介绍如何使用Maven创建web目录结构的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录创建web工程第一步第二步第三步第四步第五步第六步第七步总结创建web工程第一步js通过Maven骨架创pytho

Python循环结构全面解析

《Python循环结构全面解析》循环中的代码会执行特定的次数,或者是执行到特定条件成立时结束循环,或者是针对某一集合中的所有项目都执行一次,这篇文章给大家介绍Python循环结构解析,感兴趣的朋友跟随... 目录for-in循环while循环循环控制语句break语句continue语句else子句嵌套的循

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

Nginx 配置跨域的实现及常见问题解决

《Nginx配置跨域的实现及常见问题解决》本文主要介绍了Nginx配置跨域的实现及常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来... 目录1. 跨域1.1 同源策略1.2 跨域资源共享(CORS)2. Nginx 配置跨域的场景2.1