Cynric 的博客

修身齐家治国平天下 格物致知诚意正己心

自定义博客皮肤

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Nginx源码剖析之内存池,与内存管理

Nginx源码剖析之内存池,与内存管理 作者:July、dreamice、阿波、yixiao。 出处:http://blog.csdn.net/v_JULY_v/。 引言         Nginx(发音同 engine x)是一款轻量级的Web 服...

2011-12-05 23:35:09

阅读数 6604

评论数 4

Chrome源码剖析、上--多线程模型、进程通信、进程模型

Chrome源码剖析、上 原著:duguguiyu。 整理:July。 时间:二零一一年四月二日。 出处:http://blog.csdn.net/v_JULY_v。 说明:此Chrome源码剖析很大一部分编辑整理自此博客:http://flyvenus.net/。我对写原创文章的作者向...

2011-12-05 23:32:37

阅读数 1835

评论数 0

Nginx源码分析---hash结构ngx_hash_t(v1.0.4)

0. 序 本文继续介绍nginx的数据结构——hash结构。   链表实现文件:文件:./src/core/ngx_hash.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。   1. hash结构   ...

2011-12-02 15:00:05

阅读数 1504

评论数 0

Nginx源码分析---队列结构ngx_queue_t

0. 序 本文继续介绍nginx的数据结构——队列。 链表实现文件:文件:./src/core/ngx_queue.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。 1.队列结构 nginx...

2011-12-02 14:58:24

阅读数 1185

评论数 0

Nginx源码分析---链表结构ngx_list_t

0. 序  本文继续介绍nginx的容器——链表。 链表实现文件:文件:./src/core/ngx_list.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。 1. 链表结构  1.1 ngx_list_t结构  ...

2011-12-02 14:56:55

阅读数 1155

评论数 0

Nginx源码分析---数组结构ngx_array_t

0. 序  本文开始介绍nginx的容器,先从最简单的数组开始。  数组实现文件:文件:./src/core/ngx_array.h/.c。.表示nginx-1.0.4代码目录,本文为/usr/src/nginx-1.0.4。 1. 数组结构  ...

2011-12-02 14:55:46

阅读数 1124

评论数 0

Nginx源码分析---内存池结构ngx_pool_t及内存管理

nginx对内存的管理由其自己实现的内存池结构ngx_pool_t来完成,本文重点叙述nginx的内存管理。  nginx内存管理相关文件: (1) ./src/os/unix/ngx_alloc.h/.c 内存相关的操作,封装了最基本的内存分配函数如free/malloc/me...

2011-12-02 14:54:18

阅读数 1230

评论数 1

Nginx源码分析---模块初始化

Content 0. 序 1. nginx有哪些模块? 2. nginx如何描述这些模块? 2.1 模块数据结构 2.1.1 ngx_module_t结构 2.1.2 ngx_command_t结构 2.2 模块...

2011-12-02 14:51:10

阅读数 2335

评论数 0

Nginx源码分析---Nginx启动初始化过程(二)

在Nginx启动初始化过程(一)中提到main函数会调用ngx_init_cycle()初始化一个全局cycle变量,本文就来看看这个ngx_init_cycle()函数究竟做了哪些初始化工作。ngx_cycle_t结构类型被定义在src/core/ngx_cycle.h文件中,多达23个成员变量...

2011-12-01 23:39:35

阅读数 1198

评论数 0

Nginx源码分析---Nginx启动初始化过程(一)

Nginx的启动初始化在src/core/nginx.c的main函数中完成,当然main函数是整个Nginx的入口,除了完成启动初始化任务以外,也必定是所有功能模块的入口之处。Nginx的初始化工作主要围绕一个类型为ngx_cycle_t类型的全局变量(cycle)展开。下面具体看一下main函...

2011-12-01 23:27:44

阅读数 1367

评论数 0

Nginx源码分析---worker进程

上一篇博文分析了master进程,本文着手分析一下worker进程的情况。首先找到worker进程的入口地方——ngx_worker_process_cycle。这个函数不光是worker进程的入口函数,同时也是worker进程循环工作的主体函数,看函数名含有一个cycle嘛。进入这个cycle函...

2011-12-01 23:01:27

阅读数 2051

评论数 0

Nginx源码分析--master进程

Nginx分为Single和Master两种进程模型,Single模型即为单进程方式工作,具有较差的容错能力,不适合生产之用。Master模型即为一个master进程+N个worker进程的工作方式。生产环境都是用master-worker模型来工作。本文着重分析Nginx的master进程做了哪...

2011-12-01 22:28:39

阅读数 3062

评论数 0

Nginx源码分析--master和worker进程间的通信

前面单独分析了master进程和worker的工作情况,本文就大概看一下master进程和worker进程之间是如何使用channel来完成通信的。这部分实现的源码主要分布于src/os/unix/channel.h和channel.c两个文件中。实现极其简单,没有什么复杂的逻辑。下面,我绘制了一...

2011-12-01 21:20:27

阅读数 1472

评论数 0

Nginx源码分析--事件驱动的初始化

Nginx的高性能应该算是事件驱动的功劳。Nginx事件处理的相关代码位于src/event目录中,事件驱动是Nginx的核心,所以代码量相对也比较大。事件驱动初始化的过程主要由下图中的三步组成。 第一步:解析配置文件的初始化 在Nginx的启动初始化过程中,将调用ngx_conf...

2011-12-01 21:12:31

阅读数 1341

评论数 0

Nginx源码分析-事件循环

事件循环这个概念貌似在windows编程中提得更多,Linux程序却很少提及这个概念。本文所提及的事件循环其实就是worker cycle,由于此处将关注的不再是worker进程,而是worker进程在循环过程中关于事件处理的环节,因此就盗用了事件循环这个概念。在具体看代码前,先看一下这个“循环”...

2011-12-01 17:13:52

阅读数 1461

评论数 0

Nginx源码分析-内存池

Nginx的内存池实现得很精巧,代码也很简洁。总的来说,所有的内存池基本都一个宗旨:申请大块内存,避免“细水长流”。 一、创建一个内存池 nginx内存池主要有下面两个结构来维护,他们分别维护了内存池的头部和数据部。此处数据部就是供用户分配小块内存的地方。 //该结构用来维护内存池的...

2011-12-01 15:38:07

阅读数 1289

评论数 0

提示
确定要删除当前文章?
取消 删除