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

相关文章

Python中顺序结构和循环结构示例代码

《Python中顺序结构和循环结构示例代码》:本文主要介绍Python中的条件语句和循环语句,条件语句用于根据条件执行不同的代码块,循环语句用于重复执行一段代码,文章还详细说明了range函数的使... 目录一、条件语句(1)条件语句的定义(2)条件语句的语法(a)单分支 if(b)双分支 if-else(

nginx部署https网站的实现步骤(亲测)

《nginx部署https网站的实现步骤(亲测)》本文详细介绍了使用Nginx在保持与http服务兼容的情况下部署HTTPS,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值... 目录步骤 1:安装 Nginx步骤 2:获取 SSL 证书步骤 3:手动配置 Nginx步骤 4:测

使用Navicat工具比对两个数据库所有表结构的差异案例详解

《使用Navicat工具比对两个数据库所有表结构的差异案例详解》:本文主要介绍如何使用Navicat工具对比两个数据库test_old和test_new,并生成相应的DDLSQL语句,以便将te... 目录概要案例一、如图两个数据库test_old和test_new进行比较:二、开始比较总结概要公司存在多

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

nginx-rtmp-module模块实现视频点播的示例代码

《nginx-rtmp-module模块实现视频点播的示例代码》本文主要介绍了nginx-rtmp-module模块实现视频点播,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习... 目录预置条件Nginx点播基本配置点播远程文件指定多个播放位置参考预置条件配置点播服务器 192.

nginx-rtmp-module构建流媒体直播服务器实战指南

《nginx-rtmp-module构建流媒体直播服务器实战指南》本文主要介绍了nginx-rtmp-module构建流媒体直播服务器实战指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. RTMP协议介绍与应用RTMP协议的原理RTMP协议的应用RTMP与现代流媒体技术的关系2

解决systemctl reload nginx重启Nginx服务报错:Job for nginx.service invalid问题

《解决systemctlreloadnginx重启Nginx服务报错:Jobfornginx.serviceinvalid问题》文章描述了通过`systemctlstatusnginx.se... 目录systemctl reload nginx重启Nginx服务报错:Job for nginx.javas

centos7基于keepalived+nginx部署k8s1.26.0高可用集群

《centos7基于keepalived+nginx部署k8s1.26.0高可用集群》Kubernetes是一个开源的容器编排平台,用于自动化地部署、扩展和管理容器化应用程序,在生产环境中,为了确保集... 目录一、初始化(所有节点都执行)二、安装containerd(所有节点都执行)三、安装docker-

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者