当前位置: 首页 > news >正文

Nginx随笔(一):HTTP配置

HTTP框架定义了3个级别的配置:main,srv,loc,分别表示直接出现在http{},server{},location{}块内的配置项。

1.当遇到http{}配置块时,HTTP框架会调用所有HTTP模块的可能实现的create_main_conf,create_srv_conf,create_loa_conf方法生成存储main级别的配置参数的结构体;

2.当遇到server{}配置块时,HTTP框架会调用所有HTTP模块的可能实现的create_srv_conf,create_loa_conf方法生成存储srv级别的配置参数的结构体;

3.当遇到location{}配置块时,HTTP框架会调用所有HTTP模块的可能实现的create_loc_conf方法生成存储loc级别的配置参数的结构体;

 每个进程中都有一个唯一的ngx_cycle_t核心结构体,它有一个成员conf_ctx 维护着所有模块的结构体,其类型是void****。conf_ctx意义为首先指向一个成员皆为指针的数组,其中每个成员指针又指向另一个成员皆为指针的数组,第2个子数组中成员指针才会指向各模块生成的配置结构体。

 当Nginx检测到http{}这个关键配置项时,HTTP配置模型就启动了,这时会首先建立1个ngx_http_conf_ctx_t结构

这时候HTTP框架会为所有的HTTP模块建立3个数组,分别存放所有HTTP模块的create_main_conf,create_srv_conf,create_loa_conf方法返回的地址指针。

 

 

转载于:https://www.cnblogs.com/zhanghaibing/p/5694635.html

相关文章:

  • Sublime运行Matlab
  • Centos 二进制安装node.js
  • sql server 2016 management studio没有的解决方式
  • Java基础-常量,变量
  • python基础 - 文件读写
  • Twemproxy安装配置
  • linux摘抄之文件系统
  • linux基础(9)-获取时间
  • POJ 2236 Wireless Network 第一次做并查集,第一次写博客
  • U-boot mkimage指定Linux内核地址时的两种方式
  • 关于GridView中控件的问题
  • VS/Linux版的auto_ptr
  • 信号量
  • 目录与文件属性:编写ls
  • scala学习手记29 - 偏应用函数
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • javascript面向对象之创建对象
  • laravel 用artisan创建自己的模板
  • leetcode386. Lexicographical Numbers
  • Redis在Web项目中的应用与实践
  • REST架构的思考
  • Web设计流程优化:网页效果图设计新思路
  • 反思总结然后整装待发
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 类orAPI - 收藏集 - 掘金
  • 如何在GitHub上创建个人博客
  • 阿里云移动端播放器高级功能介绍
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • ​LeetCode解法汇总1276. 不浪费原料的汉堡制作方案
  • #《AI中文版》V3 第 1 章 概述
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (52)只出现一次的数字III
  • (delphi11最新学习资料) Object Pascal 学习笔记---第8章第5节(封闭类和Final方法)
  • (七)c52学习之旅-中断
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (转载)利用webkit抓取动态网页和链接
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .cfg\.dat\.mak(持续补充)
  • .net mvc部分视图
  • .NET 解决重复提交问题
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • ??myeclipse+tomcat
  • @property @synthesize @dynamic 及相关属性作用探究
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [ Linux ] Linux信号概述 信号的产生
  • [ vulhub漏洞复现篇 ] Django SQL注入漏洞复现 CVE-2021-35042
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...
  • [c++] 单例模式 + cyberrt TimingWheel 单例分析
  • [CareerCup] 6.1 Find Heavy Bottle 寻找重瓶子
  • [DL]深度学习_Feature Pyramid Network
  • [HNOI2018]排列
  • [IT生活推荐]大家一起来玩游戏喽,来的都进!
  • [Java][Liferay] File system in liferay
  • [java基础揉碎]方法的重写/覆盖
  • [Linux](15)线程基础,线程控制,线程的互斥与同步