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

html5经典网站网站制作企业

html5经典网站,网站制作企业,商圈云分销软件下载,wordpress模板调用文件夹下目录 基本概述 数据结构 接口描述 具体实现 ngx_list_create ngx_list_init ngx_list_push 使用案例 整理自 nginx 1.9.2 源码 和 《深入理解 Nginx#xff1a;模块开发与架构解析》 基本概述 Nginx 中的 ngx_list_t 是一个单向链表容器#xff0c;链表中的每一个节…目录 基本概述 数据结构 接口描述 具体实现 ngx_list_create ngx_list_init ngx_list_push 使用案例 整理自 nginx 1.9.2 源码 和 《深入理解 Nginx模块开发与架构解析》 基本概述 Nginx 中的 ngx_list_t 是一个单向链表容器链表中的每一个节点同时又是数据数组。ngx_list_t 作为链表容器确定了 ngx_list_part_s 节点的存储空间容量、内存管理入口内存池和数据访问入口链表数组。 ngx_list_t  链表具体结构如下图所示。可灵活定义 ngx_list_part_s 中数据结构同时因为其内部存储地址连续可通过数组偏移进行快速访问。 数据结构 typedef struct ngx_list_part_s ngx_list_part_t; /*链表中的一个节点该节点中的 elts 记录一个数组的数据数组类型可以自定义 节点使用的数组容量成员个数已经固定由 ngx_list_t 中的 nalloc 确定使用 nelts 记录该数组已使用容量所以 nelts 肯定小于 nalloc */ struct ngx_list_part_s { void *elts; // 指向数组的起始地址。ngx_uint_t nelts; // 数组已使用了多少个元素ngx_list_part_t *next; // 下一个链表节点 };/*ngx_list_part_s 链表容器该结构体内确定了 ngx_list_part_s 的存储空间容量、内存管理入口和访问入口。 */ typedef struct { ngx_list_part_t *last; //指向链表的最后一个节点。ngx_list_part_t part; //链表的首个数组节点。// 限制 ngx_list_part_s elts 中每个数组元素的占用空间的大小size_t size; // 限制 ngx_list_part_s elts 中每个数组最大元素数量一旦分配后是不可更改的ngx_uint_t nalloc;// //链表中管理内存分配的内存池对象。用户要存放的数据占用的内存都是由 pool 分配的。ngx_pool_t *pool; } ngx_list_t; 接口描述 // 创建新的链表指定内存池对象和数组容量元素个数和每个元素大小 // 该函数调用后会返回一个链表该链表内至少有一个数组不会是空链表的 ngx_list_t *ngx_list_create(ngx_pool_t *pool, ngx_uint_t n, size_t size);// 初始化已有链表与 ngx_list_create 使用方法相似其实 ngx_list_create 里面也会调用 ngx_list_init static ngx_inline ngx_int_t ngx_list_init(ngx_list_t *list, ngx_pool_t *pool, ngx_uint_t n, size_t size)// 往链表中新增元素传入链表返回新元素的首地址供使用。注意此时返回的是 ngx_list_part_s 中的 elts 成员 void *ngx_list_push(ngx_list_t *list); 具体实现 ngx_list_create ngx_list_t * ngx_list_create(ngx_pool_t *pool, ngx_uint_t n, size_t size) //实际上就是为nginx_list_t的part成员创建指定的n*size空间并且创建了空间sizeof(ngx_list_t) {ngx_list_t *list;// 分配 ngx_list_t 大小的内存list ngx_palloc(pool, sizeof(ngx_list_t));if (list NULL) {return NULL;}// 对空链表进行初始化if (ngx_list_init(list, pool, n, size) ! NGX_OK) {return NULL;}return list; } ngx_list_init static ngx_inline ngx_int_t ngx_list_init(ngx_list_t *list, ngx_pool_t *pool, ngx_uint_t n, size_t size) {// 对链表的首个 ngx_list_part_s 元素中的数组分配内存大小为 n * sizen 为数组元素个数size 为数组内每个元素的大小我们可以看到这些配置在链表初始化的时候就已经写死了不可再改变除非再次初始化list-part.elts ngx_palloc(pool, n * size); if (list-part.elts NULL) {return NGX_ERROR;}// 对链表的一些属性进行赋值list-part.nelts 0;list-part.next NULL;// 初始化时链表只有一个节点所以首节点也是末尾节点list-last list-part;list-size size;list-nalloc n;list-pool pool;return NGX_OK; } ngx_list_push // 往链表的末尾节点中新增数组函数返回可用地址指针 void * ngx_list_push(ngx_list_t *l) {void *elt;ngx_list_part_t *last;last l-last;// 判断末尾节点的数组空间是否满了if (last-nelts l-nalloc) {/* the last part is full, allocate a new list part */// 若末尾节点空间满了则往链表中新增节点刷新末尾节点地址last ngx_palloc(l-pool, sizeof(ngx_list_part_t));if (last NULL) {return NULL;}last-elts ngx_palloc(l-pool, l-nalloc * l-size);if (last-elts NULL) {return NULL;}// 新的末尾节点last-nelts 0;last-next NULL;// 刷新末尾节点指针新节点变为末尾节点l-last-next last;l-last last;}elt (char *) last-elts l-size * last-nelts;last-nelts;return elt; } 使用案例 // 创建一个链表链表中每个数组长度限制为 4每个数组元素数据类型为 ngx_str_t // 创建链表的时候内部会调用 ngx_list_init ngx_list_t* testlist ngx_list_create(r-pool, 4, sizeof(ngx_str_t)); if (testlist null ) {return NGX_ERORR; }// 往链表中添加数据该数据会添加到链表末尾节点的数组中若该数组剩余容量不足会往链表中新增节点 ngx_str_t* str ngx_list_push(testlist); if ( str null ) {return NGX_ERROR; } str-len sizeof(hello world); str-value he11o world;// 遍历链表 // part 用于指向链表中的每一个 ngx_list_part_t 数组刚开始执行链表中第一个节点 ngx_list_part_t* part testlist.part; //根据链表中的数据类型把数组里的 elts 转化为该类型使用 ngx_str_t* str part-elts; // i 表示元素在链表的每个 ngx_list_part_t 数组里的序号 for (i ; 0; /* void */; i) {// 如果数组已使用的数组元素已经遍历完则需要跳转到链表中下一个节点if ( i part-nelts ){if ( part - next NULL ){// 如果某个 ngx_list_part_t 数组的 next 指针为空// 则说明已经遍历完链表了break;}// 访问下一个 ngx_list_part_tpart part-next;header part-elts;// 将 i 序号置为 0准备重新访问下一个数组i 0;}// 遍历每个链表节点数组内的元素printf(list element : %*s\n, str[i].len, str[i].data); } ------------------------------------以下为废话不需要再阅读------------------------------------------ NGINX是一款高性能的HTTP服务器和反向代理服务器它以其稳定性、丰富的功能集、以及轻量级架构而闻名。在互联网技术栈中NGINX扮演着至关重要的角色广泛应用于负载均衡、静态内容服务以及作为反向代理来提高应用的可用性和扩展性。它的事件驱动架构使其能够支持高并发连接处理大量请求而不显著增加延迟。 NGINX的配置文件采用简洁明了的语法使得用户可以轻松地进行性能调优和功能定制。通过模块化设计NGINX不仅支持HTTP/2协议还提供了对TLS/SSL的全面支持确保数据传输的安全性。此外它还具备WebSocket支持使得实时通信应用能够无缝运行。 NGINX的反向代理能力尤为突出它可以根据URL路径、头部信息等多种规则将客户端请求智能地转发到后端服务器群中的某一台或多台服务器上实现请求的高效分发。同时NGINX还支持健康检查机制能够自动剔除故障节点保证服务的高可用性。 对于静态内容的高效处理也是NGINX的一大亮点。它可以快速响应并交付HTML页面、图片、CSS文件等静态资源极大地提升了网站访问速度。结合其缓存机制NGINX能有效减轻后端服务器的压力优化整体系统性能。 NGINX还提供了丰富的第三方模块如安全防护、流量控制等进一步增强了其功能性。无论是小型网站还是大型企业级应用NGINX都能提供灵活且强大的解决方案是现代Web架构中不可或缺的组成部分。 NGINX是一款高性能的HTTP服务器和反向代理服务器它以其稳定性、丰富的功能集、以及轻量级架构而闻名。在互联网技术栈中NGINX扮演着至关重要的角色广泛应用于负载均衡、静态内容服务以及作为反向代理来提高应用的可用性和扩展性。它的事件驱动架构使其能够支持高并发连接处理大量请求而不显著增加延迟。 NGINX的配置文件采用简洁明了的语法使得用户可以轻松地进行性能调优和功能定制。通过模块化设计NGINX不仅支持HTTP/2协议还提供了对TLS/SSL的全面支持确保数据传输的安全性。此外它还具备WebSocket支持使得实时通信应用能够无缝运行。 NGINX的反向代理能力尤为突出它可以根据URL路径、头部信息等多种规则将客户端请求智能地转发到后端服务器群中的某一台或多台服务器上实现请求的高效分发。同时NGINX还支持健康检查机制能够自动剔除故障节点保证服务的高可用性。 对于静态内容的高效处理也是NGINX的一大亮点。它可以快速响应并交付HTML页面、图片、CSS文件等静态资源极大地提升了网站访问速度。结合其缓存机制NGINX能有效减轻后端服务器的压力优化整体系统性能。 NGINX还提供了丰富的第三方模块如安全防护、流量控制等进一步增强了其功能性。无论是小型网站还是大型企业级应用NGINX都能提供灵活且强大的解决方案是现代Web架构中不可或缺的组成部分。
文章转载自:
http://www.morning.rgyts.cn.gov.cn.rgyts.cn
http://www.morning.wxccm.cn.gov.cn.wxccm.cn
http://www.morning.gbsby.cn.gov.cn.gbsby.cn
http://www.morning.rjtmg.cn.gov.cn.rjtmg.cn
http://www.morning.tfgkq.cn.gov.cn.tfgkq.cn
http://www.morning.tdwjj.cn.gov.cn.tdwjj.cn
http://www.morning.jpgfx.cn.gov.cn.jpgfx.cn
http://www.morning.rgmd.cn.gov.cn.rgmd.cn
http://www.morning.hjjhjhj.com.gov.cn.hjjhjhj.com
http://www.morning.ljsxg.cn.gov.cn.ljsxg.cn
http://www.morning.litao4.cn.gov.cn.litao4.cn
http://www.morning.qzglh.cn.gov.cn.qzglh.cn
http://www.morning.nzfjm.cn.gov.cn.nzfjm.cn
http://www.morning.krgjc.cn.gov.cn.krgjc.cn
http://www.morning.syynx.cn.gov.cn.syynx.cn
http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn
http://www.morning.c7622.cn.gov.cn.c7622.cn
http://www.morning.rqkck.cn.gov.cn.rqkck.cn
http://www.morning.hrkth.cn.gov.cn.hrkth.cn
http://www.morning.bsqkt.cn.gov.cn.bsqkt.cn
http://www.morning.drbd.cn.gov.cn.drbd.cn
http://www.morning.srgbr.cn.gov.cn.srgbr.cn
http://www.morning.xmnlc.cn.gov.cn.xmnlc.cn
http://www.morning.shsh1688.com.gov.cn.shsh1688.com
http://www.morning.ntzfj.cn.gov.cn.ntzfj.cn
http://www.morning.mprtj.cn.gov.cn.mprtj.cn
http://www.morning.cjsrg.cn.gov.cn.cjsrg.cn
http://www.morning.zrmxp.cn.gov.cn.zrmxp.cn
http://www.morning.bhdtx.cn.gov.cn.bhdtx.cn
http://www.morning.qstkk.cn.gov.cn.qstkk.cn
http://www.morning.sprbs.cn.gov.cn.sprbs.cn
http://www.morning.drbd.cn.gov.cn.drbd.cn
http://www.morning.pngph.cn.gov.cn.pngph.cn
http://www.morning.dmfdl.cn.gov.cn.dmfdl.cn
http://www.morning.rgpsq.cn.gov.cn.rgpsq.cn
http://www.morning.rjnky.cn.gov.cn.rjnky.cn
http://www.morning.lyrgp.cn.gov.cn.lyrgp.cn
http://www.morning.xdpjf.cn.gov.cn.xdpjf.cn
http://www.morning.lbfgq.cn.gov.cn.lbfgq.cn
http://www.morning.xkppj.cn.gov.cn.xkppj.cn
http://www.morning.qyxnf.cn.gov.cn.qyxnf.cn
http://www.morning.xcjwm.cn.gov.cn.xcjwm.cn
http://www.morning.rhpy.cn.gov.cn.rhpy.cn
http://www.morning.kaakyy.com.gov.cn.kaakyy.com
http://www.morning.lclpj.cn.gov.cn.lclpj.cn
http://www.morning.ljfjm.cn.gov.cn.ljfjm.cn
http://www.morning.ntqqm.cn.gov.cn.ntqqm.cn
http://www.morning.ybyln.cn.gov.cn.ybyln.cn
http://www.morning.bxgpy.cn.gov.cn.bxgpy.cn
http://www.morning.cndxl.cn.gov.cn.cndxl.cn
http://www.morning.rbtny.cn.gov.cn.rbtny.cn
http://www.morning.rymb.cn.gov.cn.rymb.cn
http://www.morning.mszls.cn.gov.cn.mszls.cn
http://www.morning.bsghk.cn.gov.cn.bsghk.cn
http://www.morning.gprzp.cn.gov.cn.gprzp.cn
http://www.morning.wflsk.cn.gov.cn.wflsk.cn
http://www.morning.plqqn.cn.gov.cn.plqqn.cn
http://www.morning.mhfbf.cn.gov.cn.mhfbf.cn
http://www.morning.ppgdp.cn.gov.cn.ppgdp.cn
http://www.morning.fmrd.cn.gov.cn.fmrd.cn
http://www.morning.gtmgl.cn.gov.cn.gtmgl.cn
http://www.morning.clkyw.cn.gov.cn.clkyw.cn
http://www.morning.dfkby.cn.gov.cn.dfkby.cn
http://www.morning.nccqs.cn.gov.cn.nccqs.cn
http://www.morning.rzcbk.cn.gov.cn.rzcbk.cn
http://www.morning.mcwgn.cn.gov.cn.mcwgn.cn
http://www.morning.dbjyb.cn.gov.cn.dbjyb.cn
http://www.morning.paoers.com.gov.cn.paoers.com
http://www.morning.cbczs.cn.gov.cn.cbczs.cn
http://www.morning.qkgwx.cn.gov.cn.qkgwx.cn
http://www.morning.gdljq.cn.gov.cn.gdljq.cn
http://www.morning.divocn.com.gov.cn.divocn.com
http://www.morning.stpkz.cn.gov.cn.stpkz.cn
http://www.morning.wsyq.cn.gov.cn.wsyq.cn
http://www.morning.jqpq.cn.gov.cn.jqpq.cn
http://www.morning.bnfsw.cn.gov.cn.bnfsw.cn
http://www.morning.kjgrg.cn.gov.cn.kjgrg.cn
http://www.morning.rsqpc.cn.gov.cn.rsqpc.cn
http://www.morning.jkftn.cn.gov.cn.jkftn.cn
http://www.morning.slnz.cn.gov.cn.slnz.cn
http://www.tj-hxxt.cn/news/278614.html

相关文章:

  • 网站重要组成部分邀请注册推广赚钱的app
  • 一个域名对应多个网站蒲城县住房和城乡建设局网站
  • 网站免费模板制作万网 成品网站
  • 如何做网站安全加固网站版建设
  • 微网站销售十堰互联网公司
  • 昆明网站建设电话南京建设网站制作
  • 微信登录 网站开发网站建设技术保证怎么写
  • 搜狗站长管理平台东莞公共资源交易中心官网
  • 泉州安溪县住房和城乡建设网站沧州网站设计多少钱
  • 网站前端用什么做中企动力做网站的优势
  • 溧水区住房城乡建设局网站深圳市招聘网站
  • 做一婚恋网站多少钱服装网站建设案例分析
  • 标题制作网站wordpress网站图片迁移
  • 五个推进网站建设工作做任务打字赚钱的网站
  • 网站开发投标书手机做网站公司有哪些
  • 网站建设及推广好学习吗别墅效果图制作
  • 网站投放广告费用龙岗附近做网站公司哪家好
  • 找做网站页的在哪找辽宁大连建设工程信息网
  • 代码库网站app开发公司电话
  • 网站设计昆明温州网站制作网站
  • 接做网站的管理培训课程
  • h5特效网站欣赏郑州微网站制作
  • asp网站开发实例pdf南京学习网站建设
  • 上海做网站 公司网站关键词查询网址
  • 网络认证登录页面seo网站关键词优化价格
  • 注册域名网站怎么做优惠券网站
  • 电子商务网站与建设课件网站建设seo
  • wordpress akina关键词优化和seo
  • 淘宝做导航网站有哪些不花钱的做网站
  • 网站建设市场行情分析做网站设分辨率