ngx_int_tngx_daemon(ngx_log_t *log){ int fd; // 让init进程成为新产生进程的父进程: // 调用fork函数创建子进程后,使父进程立即退出。这样,产生的子进程将变成孤儿进程,并被init进程接管, // 同时,所产生的新进...
分类:
系统相关 时间:
2014-10-20 18:49:33
阅读次数:
312
通配 hash 表ngx_hash_init 实现注释:http://blog.csdn.net/gsnumen/article/details/7817396ngx_hash_init之后的结构制图:http://blog.csdn.net/livelylittlefish/article/det...
分类:
其他好文 时间:
2014-10-14 16:29:28
阅读次数:
170
学习nginx已经有一个多月了,觉得越来越吃力了,主要原因自己总结了一下:1平台是基于linux的,以前几乎没有接触过linux,而nginx使用了很多linux的函数;2就是进程,这个东西接触的也很少,linux的多进程更不用说,而现在正好看到这里,觉得异常的吃力,这不看到nginx守护进程的建立,就找资料好好学习一下,所以本文已学习fork为主要内容。
好了,先看一下nginx的守护进程的建...
分类:
系统相关 时间:
2014-10-11 22:03:37
阅读次数:
373
在nginx的启动过程中,ngx_init_cycle这个函数做了大部分的初始化工作,而初始化的变量都保存在ngx_cycle_t这个结构体中,为了深入了解这个函数都做了那些初始化工作,就化时间研究了一下,并写下来以便以后参考。
1ngx_cycle_t
关于这个结构体前面已经简单介绍过,这里不再赘述。
2ngx_init_cycle
ngx_cycle_t * ngx_init_cy...
分类:
其他好文 时间:
2014-10-11 19:50:56
阅读次数:
246
voidngx_process_events_and_timers(ngx_cycle_t*cycle){ngx_uint_tflags;ngx_msec_ttimer,delta;if(ngx_timer_resolution){timer=NGX_TIMER_INFINITE;flags=0;}...
分类:
其他好文 时间:
2014-10-10 13:18:24
阅读次数:
167
作为一个webserver,那么肯定是有监听套接字的,这个监听套接字是用于接收HTTP请求的,这个监听套接字的创建是依据配置文件的内容来创建的,在nginx.conf文件里有多少个地址就须要创建多少个监听套接字。这里不说各个结构体的构造 仅仅说大体情况!1)、首先在main函数中调用了ngx_ini...
分类:
其他好文 时间:
2014-10-09 14:21:03
阅读次数:
95
今天用了一天的时间看nginx的启动流程,流程还是很复杂,主要的函数调用有十几个之多,通过看源码和上网查资料,弄懂了一些函数,有些函数还在学习中,有些函数还待日后学习,这里记录一下今天所学。加油!
1nginx.c
启动的程序主要在src/core/nginx.c中,和普通函数一样,main函数是其入口函数:下面我们看看main函数的源代码:
int ngx_cdecl
main(int a...
分类:
其他好文 时间:
2014-10-07 21:58:44
阅读次数:
342
1红黑树简介
先来看下算法导论对R-B Tree的介绍:
红黑树,一种二叉查找树,但在每个结点上增加一个存储位表示结点的颜色,可以是Red或Black。
通过对任何一条从根到叶子的路径上各个结点着色方式的限制,红黑树确保没有一条路径会比其他路径长出俩倍,因而是接近平的。
红黑树,作为一棵二叉查找树,满足二叉查找树的一般性质。下面,来了解下 二叉查找树的一般性质。
二叉查找树
二叉查找树...
分类:
其他好文 时间:
2014-10-05 19:24:38
阅读次数:
216
1、主动连接是指Nginx主动发起的同上游server的连接;被动连接是指Nginx接收到的来自client主动发起的连接;2、主动连接用ngx_peer_connection_t结构体表示;被动连接用ngx_connection_t表示;3、主动连接是对被动连接的封装,每当事件消费者模块使用主动连...
分类:
其他好文 时间:
2014-10-03 16:11:54
阅读次数:
145