开房记录怎么查得到 如何查别人开放房记录

访客3年前关于黑客接单550

从本节开始,我们将进入http模块实现原理的讲解,关于http模块,有一个非常重要的点就是其是如何存储http块、server块和location块的数据的,而且nginx有的配置项是可以在多个配置块中使用的,当http块、server块和location块中两个或者两个以上的配置块都配置了该配置项的时候,就会有一个问题是,nginx是如何处理这些配置项的。本文主要讲解http块中的各个模块数据的存储方式,这将是理解nginx的http模块的工作方式的重要基石。


1. 核心模块的存储方式

        在nginx运行过程中,有一个全局配置结构体ngx_cycle_t,其有一个属性conf_ctx,这个属性是存储nginx所有模块配置的一个数组,这个数组的长度与nginx模块的个数相同。不过需要注意的是,conf_ctx数组的之一维只会存储核心模块的配置,而其他模块对应的位置处的数组元素其实是为NULL。在conf_ctx中,各个核心模块配置结构体的存储位置与该模块在所有模块(包括非核心模块)中的相对位置是一致的,如下图所示为nginx存储核心模块的一个结构示意图:

这里标注的events和http只是为了展示方便而添加的,本质上这个数组的元素的类型是void*的指针,至于该指针指向的具体结构体的类型,则是根据各个核心模块自身的定义来的。


在http模块下,其指向了一个ngx_http_conf_ctx_t类型的结构体,这个结构体的作用就是用来存储http配置块中各个配置项的数据的。如下是这个结构体的定义:

typedef struct {
  	// 存储MAIN级别配置
    void **main_conf;  	// 存储SRV级别配置
    void **srv_conf;  	// 存储LOC级别配置
    void **loc_conf;
} ngx_http_conf_ctx_t;

我们知道,在nginx.conf配置文件中,在http块下还配置有server块,而server块下也是可以有location块,更有甚者,在location块下可以有子location块,如此往复,而这里的ngx_http_conf_ctx_t结构体的作用就是存储所有的这些配置所对应的结构体数据。首先,我们需要明确的一点是,在nginx.conf配置文件中,配置项都是由一个个模块定义的,一个模块可以定义多个配置项,对于这些配置项的解析工作都是由这个模块所定义的 *** 进行的。但是,一般的,一个模块一般都只会定义一个结构体,这个结构体中的各个属性则对应于该模块所定义的各个配置项的数据,也就是说,通过各个模块所定义的 *** ,其会将其所定义的配置项对应的配置转换为该模块所定义的结构体。这里所说的结构体就对应于上面的main_conf、srv_conf和loc_conf中的配置。从上面的定义就可以看出,这三个属性的类型都是指针类型的数组,而数组的长度就对应于模块的个数,准确来讲,是对应于http模块的各个。在解析各个http模块的配置之前,nginx会对各个http模块在当前类型的模块(http模块)中进行相对位置进行标记,每个http模块的相对位置就对应于上面的三个属性的数组下标。前面已经讲到,每个http模块都只会有一个配置结构体存储该模块所定义的所有配置数据,而这些配置结构体就是存储在上面的三个数组中的。这样,我们就能够理解了,其实上面的结构体的三个属性,每一个属性的数组都对应了一个http模块的配置结构体。


相关文章

什么是共价键?“神经共价键”是人类为什么可以理解的重要结构之一

什么是共价键?“神经共价键”是人类为什么可以理解的重要结构之一

什么是共价键(“神经共价键”是人类为什么可以理解的重要结构之一)人类作为地球霸主!虽然是自封的,但也可以看出人对于自身的存在是多么自信!人没有锋利的爪子和牙齿,没有强大的肌肉结构,而人却成为食物链顶端...

如何构造一个高效且为我们所用的优质社群?

如何构造一个高效且为我们所用的优质社群?

到底该如何运营出一个高效且为我们所用的优质社群呢?本日,我们就来讲讲社群运营的要领论。 2015年头,社群作为一种维系用户干系、提高用户粘性的运营手段,开始流行。其时的社群多是以微信群、QQ群等方法将...

化粪池尺寸?典型家用化粪池的大小与结构

化粪池尺寸?典型家用化粪池的大小与结构

在乡下,盖房子时一般也会同时把自家的化粪池建好,目前大都采用3格化粪池,如下图:     其中,1池:2池:3池=2:1:3(体积比),粪水停留时间在这3池分别大概是20天,10天和30...

前2月服务贸易结构改善 知识密集型服务出口增5%

商务部服贸司负责人31日介绍, 1—2月,受新冠肺炎疫情影响,我国服务贸易出现下降,但贸易逆差延续了去年以来的缩小势头,结构改善。1—2月,服务贸易逆差缩小24.6%至1901.6亿元,同比减少620...

小型风力发电机组报价,小型风力发电机组结构

小型风力发电机组报价,小型风力发电机组结构

北极星风力发电网讯:8月27日,由上海电建福建公司承建的平潭青峰二期风电场项目首台风机顺利吊装,标志着工程进入风力发电机组安装施工阶段。 据悉,平潭青峰二期风电场规划建设20台3.6兆瓦风力发电机组...

水的密度是多少?水的结构是怎样的

水的密度是多少?水的结构是怎样的

水的密度是多少(水的结构是怎样的)如果不是因为水非常普遍,我们可能会认为它是一种非常奇怪的物质。水有着一系列不同寻常的属性,而且至今我们仍然不能完全理解它的结构。 在最基本的层面上,水的结构几乎不能...