美文网首页
nginx中的配置模型

nginx中的配置模型

作者: areece | 来源:发表于2020-05-07 20:03 被阅读0次

如果不尝试着说些什么,那么所有的学习都将没有太多的意义。

学习内容

看的是《深入理解nginx》书籍,这本书讲得很细,适合初看,再读时,就必然进入书越读越簿的境界,否则实在是太浪费时间了。

说了些什么

http的配置,包括了main,server与location三个层次

typedef struct {
    void        **main_conf;
    void        **srv_conf;
    void        **loc_conf;
} ngx_http_conf_ctx_t;

而所有的配置,都可以在http,server和location上独立存在,框架上都使用上面 的ngx_http_conf_ctx_t结构体保存。

框架在ngx_http_block, ngx_http_core_server与ngx_http_core_location三个函数中,都是一进去,不管三七二十一,创建这个结构体再说。对于server与location对应的ngx_http_conf_t结构中的,共享全局的http中的main_conf,location对象则共享了所有server的srv_conf。

怎么关联

关联关系是由http core module维护的,当创建基于server的ngx_http_conf_ctx_t结构体时,它们被保存到http_core_module_t的servers成员中去了,而http_core_module的配置ngx_http_core_main_conf_t就保存在全局main里面的关于http_core_module的位置上。

所有的location按照层次级别,组成了一棵树,这树通过location_queue_t形成链表,当作兄弟节点链接,而locations则往下链着子树。而创建server那一层级的时候,会创建一个ngx_http_core_loc_conf_t是这棵树的根。

至于碰到http时创建的那个ngx_http_core_loc_conf_t的是不是server那一级的父节点,要去看看代码:P)。

维护上下文环境

对于每一个请求,分配数组,数组中的每一个元素,都可以用来保存一个http模块的上下文环境。这有点与配置模型没有关系了。

相关文章

  • 20171025 Nginx

    I/O模型Nginx介绍Nginx的安装和目录结构Nginx的配置Nginx的编译安装 一、I/O模型 (一)I/...

  • nginx中的配置模型

    如果不尝试着说些什么,那么所有的学习都将没有太多的意义。 学习内容 看的是《深入理解nginx》书籍,这本书讲得很...

  • DNSmasq和Nginx 在mac上的安装配置和启动

    nginx nginx 安装 启动 配置 /usr/local/etc/nginx/nginx.conf 中配置的...

  • wordpress固定链接后页面404解决方法

    Nginx配置:在 /etc/nginx/nginx.conf文件的 loction / {} 中添加 配置之后,...

  • 2019-01-18

    nginx的基本配置和SSL的http跳转https基本配置 在nginx中的nginx.conf下配置 http...

  • Nginx路由匹配规则的一些理解

    使用过nginx的同学都知道,在nginx配置文件中通过location配置路由转发规则,配置语法为: 中括号中为...

  • 禁用空主机头

    关闭nginx空主机头 防止恶意域名指向 修改配置 修改nginx配置文件nginx.conf,在http配置中添...

  • Linux安装nginx

    Linux 配置 nginx Linux 配置 nginx 1) 安装nginx前首先要确认系统中安装了 2) 如...

  • nginx docker

    nginx域名配置demo,配置文件放在目录/etc/nginx/conf.d/中。

  • Nginx设置thinkphp伪静态

    在Nginx低版本中,是不支持PATHINFO的,但是可以通过在nginx的配置文件Nginx.conf中配置转发...

网友评论

      本文标题:nginx中的配置模型

      本文链接:https://www.haomeiwen.com/subject/xcjoghtx.html