- 浏览: 157663 次
- 性别:
- 来自: 杭州
最新评论
-
zzyymaggie:
...
“惊群”,看看nginx是怎么解决它的 -
luckywnj:
机器C 修改IP报头的源地址,TCP的源端口,这个是C语言支持 ...
从TCP协议的原理来谈谈rst复位攻击 -
hojor:
您好!有个问题想请教下,我写了一个模块,模块中对flv的文件转 ...
推荐我的新书《深入理解Nginx:模块开发与架构解析》 -
wyfspring:
哥写书了?
推荐我的新书《深入理解Nginx:模块开发与架构解析》 -
rollstone:
写的真腐!作者应该是个搞笑的还关心时政的人!
paxos分布式一致性算法--论诸葛亮的反穿越
文章列表
upstream机制
Nginx提供的upstream机制,是nginx设计理念的忠实体现。异步、无阻塞,这是nginx的追求,任何对这种设计思想的违反,都会导致nginx达不到它预期的性能,包括nginx提供的fastCGI也是如此。
Upstream到底用来干什么呢?就是nginx在正常的请求处理过程中,需要访问其他SERVER,这时,nginx提供了这样的机制,把底层的http通讯全部做完。最重要的是,upstream保证了在这个请求中对其他SERVER的通讯,完全是无阻塞和异步的。个人认为,如果nginx没有提供upstream,当开发者遇到这种情形要么自己写一套多路 ...
- 2010-08-19 14:13
- 浏览 523
- 评论(0)
upstream机制
Nginx提供的upstream机制,是nginx设计理念的忠实体现。异步、无阻塞,这是nginx的追求,任何对这种设计思想的违反,都会导致nginx达不到它预期的性能,包括nginx提供的fastCGI也是如此。
Upstream到底用来干什么呢?就是nginx在正常的请求处理过程中,需要访问其他SERVER,这时,nginx提供了这样的机制,把底层的http通讯全部做完。最重要的是,upstream保证了在这个请求中对其他SERVER的通讯,完全是无阻塞和异步的。个人认为,如果nginx没有提供upstream,当开发者遇到这种情形要么自己写一套多路 ...
- 2010-08-19 14:13
- 浏览 671
- 评论(0)
3、对HTTP body的处理
上面我们已经开始处理http request header了,接下来,如果请求中有body内容,那么需要处理body了。这里你肯定不会想要去阻塞式的读取body吧?body的长度可大可小,网络环境也巨复杂,只要有阻塞操作肯定玩完。Nginx这时已经准备了一个现成的读取body的非阻塞模式给用户,就是ngx_http_read_client_request_body方法。
大家看下
- 2010-05-31 18:46
- 浏览 928
- 评论(0)
3、对HTTP body的处理
上面我们已经开始处理http request header了,接下来,如果请求中有body内容,那么需要处理body了。这里你肯定不会想要去阻塞式的读取body吧?body的长度可大可小,网络环境也巨复杂,只要有阻塞操作肯定玩完。Nginx这时已经准备了一个现成的读取body的非阻塞模式给用户,就是ngx_http_read_client_request_body方法。
大家看下
- 2010-05-31 18:46
- 浏览 707
- 评论(0)
3、对HTTP body的处理
上面我们已经开始处理http request header了,接下来,如果请求中有body内容,那么需要处理body了。这里你肯定不会想要去阻塞式的读取body吧?body的长度可大可小,网络环境也巨复杂,只要有阻塞操作肯定玩完。Nginx这时已经准备了一个现成的读取body的非阻塞模式给用户,就是ngx_http_read_client_request_body方法。
大家看下ngx_http_read_client_request_body方法的原型:
- 2010-05-31 18:46
- 浏览 846
- 评论(0)
2、HTTP框架
继续上面这个例子,比如当nginx收到一个http请求时,我的module需要处理这个请求,那么我应该怎么做?实际这个问题还要再细分。如果是希望nginx收到完整的HTTP请求,再交给我的module处理?又或者只需要接收到完整的http
header就给我呢?我把接收完header就交给module处理的code列下,再说下它的处理流程。
- 2010-05-31 18:05
- 浏览 580
- 评论(0)
2、HTTP框架
继续上面这个例子,比如当nginx收到一个http请求时,我的module需要处理这个请求,那么我应该怎么做?实际这个问题还要再细分。如果是希望nginx收到完整的HTTP请求,再交给我的module处理?又或者只需要接收到完整的http
header就给我呢?我把接收完header就交给module处理的code列下,再说下它的处理流程。
- 2010-05-31 18:05
- 浏览 477
- 评论(0)
2、HTTP框架
继续上面这个例子,比如当nginx收到一个http请求时,我的module需要处理这个请求,那么我应该怎么做?实际这个问题还要再细分。如果是希望nginx收到完整的HTTP请求,再交给我的module处理?又或者只需要接收到完整的http
header就给我呢?我把接收完header就交给module处理的code列下,再说下它的处理流程。
首先我要在ngx_XXX_init里注册对这种请求的处理函数。
- 2010-05-31 18:05
- 浏览 564
- 评论(0)
nginx的module开发很弱,首先它不是采用动态库的形式被主进程加载,而是要求module的源码必须和nginx的源码一起编译。我是第一次见到这么BT的家伙,呵呵。所以呢,对module开发者来说,nginx就是一个开发平台,可以把它理解为在nginx这个“OS”上用C语言开发application,而且要遵循nginx的框架。
既然是平台,那么像其他OS
- 2010-05-31 17:19
- 浏览 440
- 评论(0)
nginx的module开发很弱,首先它不是采用动态库的形式被主进程加载,而是要求module的源码必须和nginx的源码一起编译。我是第一次见到这么BT的家伙,呵呵。所以呢,对module开发者来说,nginx就是一个开发平台,可以把它理解为在nginx这个“OS”上用C语言开发application,而且要遵循nginx的框架。
既然是平台,那么像其他OS
- 2010-05-31 17:19
- 浏览 255
- 评论(0)
nginx的module开发很弱,首先它不是采用动态库的形式被主进程加载,而是要求module的源码必须和nginx的源码一起编译。我是第一次见到这么BT的家伙,呵呵。所以呢,对module开发者来说,nginx就是一个开发平台,可以把它理解为在ng ...
- 2010-05-31 17:19
- 浏览 455
- 评论(0)
nginx是什么?可能很多人不是很了解,除非是做WEB服务器开发的朋友才可能涉猎,而且如果不懂C语言,又或者对WEB SERVER性能要求不高,也是没必要去研究它的。
说到这里,大家想必已经知道,nginx就是一个高性能的WEB SERVER, ...
- 2010-05-31 14:21
- 浏览 436
- 评论(0)
nginx是什么?可能很多人不是很了解,除非是做WEB服务器开发的朋友才可能涉猎,而且如果不懂C语言,又或者对WEB SERVER性能要求不高,也是没必要去研究它的。
说到这里,大家想必已经知道,nginx就是一个高性能的WEB SERVER, ...
- 2010-05-31 14:21
- 浏览 294
- 评论(0)
nginx是什么?可能很多人不是很了解,除非是做WEB服务器开发的朋友才可能涉猎,而且如果不懂C语言,又或者对WEB SERVER性能要求不高,也是没必要去研究它的。
说到这里,大家想必已经知道,nginx就是一个高性能的WEB SERVER, ...
- 2010-05-31 14:21
- 浏览 535
- 评论(0)
任何语言编程中,最核心的问题都会包括内存的管理。我认为,从性能上来说,任何系统提供高性能的关键都是缓存的有效利用,在本机编程上,RAM内存则是最有效的CACHE。从代码到程序到进程,编译环境和运行环境在其中对内存的管理起到至关重要的作用。即使如JAVA这种平台无关的语言,它同样通过参数受限于实际环境的限制,它在操作系统平台中的内存布局,同样是按照内核的规矩来的。
当前LINUX由于是免费的,所以大部分SERVER类程序都运行在LINUX上,弄清楚LINUX关于内存的管理是有实用价值的,LINUX2.6内核是当前主流的
- 2010-01-15 16:09
- 浏览 497
- 评论(0)