- 博客(10)
- 资源 (4)
- 收藏
- 关注
原创 10.nginx源码分析之数据结构:ngx__rbtree_t
nginx源码分析之数据结构:ngx__rbtree_t除了之前介绍的list、array、queue等线性数据结构之外,nginx还提供了查询效率较高的红黑树结构,这种二叉平衡查找树的使用极大提高了查找效率。关于红黑树的声明和定义在ngx_rbtree.h和ngx_rbtree.c中。关于查找方式一般我们会给出两种数据结构:hash表和二叉平衡查找树。(1)hash的代表产品是r
2016-10-31 20:05:06 594
原创 5.nginx学习笔记:nginx+php
nginx学习笔记:nginx+phpnginx连接php可以使nginx支持更多的应用。接下来我们搭建nginx和php 之间的架构。安装前准备(1)php的安装需要多种组件,使用yum安装:[root@rsync ~]# yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libc
2016-10-31 11:17:21 508
原创 9.nginx源码分析之数据结构:ngx__queue_t
nginx源码分析之数据结构:ngx__quque_tngx_queue是nginx中的双端队列,该双端队列为了满足通用性,整个结构中没有指向数据节点的部分。typedef struct ngx_queue_s ngx_queue_t;struct ngx_queue_s { ngx_queue_t *prev; //指向前一个节点 ngx_queue_t *next;
2016-10-29 15:56:15 397
原创 8.nginx源码分析之数据结构:ngx_list_t
nginx源码分析之数据结构:ngx_list_tngx_list_t是一个单项链表,在nginx的头文件ngx_list.h中主要定义了两个结构体来描述链表:单链表的控制信息:typedef struct { ngx_list_part_t *last; //链表的最有一个节点地址 ngx_list_part_t part; //链表的头节点 si
2016-10-29 11:50:22 556
原创 7.nginx源码分析之数据结构:ngx_array_t
nginx源码分析之数据结构:ngx_array_tngx_array_t是一个数组结构,实现的非常精简。结构体的定义如下所示:typedef struct { void *elts; ngx_uint_t nelts; size_t size; ngx_uint_t nalloc; ngx_pool_t *p
2016-10-28 23:31:09 512
原创 6.nginx源码分析之数据结构:ngx_pool_t
nginx内存管理nginx内存管理的结构体关于nginx内存管理的方法在ngx_palloc.h文件中,定义了相关结构体和接口:如下几个宏定义了内存池的默认大小和对齐大小。/* * NGX_MAX_ALLOC_FROM_POOL should be (ngx_pagesize - 1), i.e. 4095 on x86. * On Windows NT it decreases a numb
2016-10-28 17:05:08 548
原创 5.nginx源码分析之数据结构:ngx_string
ngx_stringnginx的数据结构设计的非常精巧,高效,学习nginx的数据结构设计可以加深我们对于其后续代码的阅读深度。nginx的数据结构在源码包的src/core目录中,nginx对应的文件是ngx_string.c和ngx_string.h文件:[root@rsync core]# ll ngx_string.*-rw-r--r-- 1 1001 1001 43851
2016-10-27 10:02:57 1186
原创 2.http权威指南:HTTP报文
报文的流向http报文的流向有流入(发送请求)和流出(返回结果)两种状态。报文的组成http报文是简单的格式化数据块。报文由三部分内容组成:(1)对报文进行描述的起始行; (2)包含属性的首部(header)块; (3)数据的主体部分;报文的语法类型:报文包含请求报文和响应报文两种。组成: (1)方法(GET、POST、HEAD等); (2)请求url; (3)版本; (4)状态吗;
2016-10-24 20:35:43 517
原创 1.http权威指南:url与资源
urlurl可以唯一确定一个web资源的位置。主要包含以下三个部分:(1)url使用的协议;(2)服务器的位置(ip或主机名);(3)资源路径;以百度为例: https://www.baidu.com/index.php*url可以通过http之外的其他协议来访问资源(例如ftp、rtsp流视频服务器)
2016-10-24 14:42:40 352
原创 2.shell中的文本处理:grep、awk与sed
shell中的文本处理:grep、awk与sed在linux操作中经常需要我们对已有的文本进行来料加工(进行相关的查找、替换和计数等操作)。这需要我们熟练的掌握三种常见的linux shell工具,grep 、awk 与 sed。grepgrep有三种方式: grep 标准grep命令 egrep 扩展grep,支持基本及扩展的正则表达式
2016-10-21 21:32:15 1721
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人