Nginx
SmartMZ
天道酬勤~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
nginx 源码学习笔记(五)
我们之前说过模块的上下文分别对应四种结构体分别是ngx_core_module_t、ngx_event_module_t、ngx_http_module_t、ngx_mail_module_t分别对应四类模块 src/core/ngx_conf_file.h typedef struct { ngx_str_t转载 2012-07-19 16:42:34 · 2548 阅读 · 0 评论 -
nginx 源码学习笔记(六)
简单的数据类型在core/ngx_confing.h中定义了基本的数据类型的映射,大部分都映射到c语言自身的数据类型:typedef intptr_t ngx_int_t;typedef uintptr_t ngx_uint_t;typedef intptr_t ngx_flag_t;其中ngx_int_t,ngx_flag_t都映射为i转载 2012-07-19 16:48:49 · 3620 阅读 · 0 评论 -
nginx 源码学习笔记(一)
1.nginx模块首先nginx和apache最大的不同就是nginx的模块不能够动态添加,需要在编译时,指定要添加的模块路径,与nginx源码一起编译。nginx模块的处理流程:a.客户端发送http请求到nginx服务器b.nginx基于配置文件中的位置选择一个合适的处理模块c.负载均衡模块选择一台后端服务器(反向代理情况下)d.处理模块进行处理并把输出缓冲放到第一转载 2012-07-19 15:27:16 · 3870 阅读 · 0 评论 -
nginx 源码学习笔记(四)
接下来,继续理解helloworld模块中的指令。//helloworld中的代码/* Commands */static ngx_command_t ngx_http_hello_world_commands[] = { { ngx_string("hello_world"), NGX_HTTP_LOC_CONF|NGX_CONF_NOARGS,转载 2012-07-19 16:20:23 · 2891 阅读 · 0 评论 -
nginx 源码学习笔记(七)
内存分配相关1. 系统功能封装内存相关的操作主要在os/unix/ngx_alloc.{h,c} 和 core/ngx_palloc.{h,c}中。其中os/unix/ngx_alloc.{h,c}封装了最基本的内存分配函数,是对c原有的malloc/free/memalign等函数的封装,对应函数为:a.ngx_alloc:对malloc进行了简单的封装; v转载 2012-07-19 16:58:57 · 2790 阅读 · 0 评论 -
nginx 源码学习笔记(三)
下面开始真正"nginx之旅",屏住呼吸吧!首先找好入手点,对于nginx的入手点就是ngx_module_t结构,声明在src/core/ngx_conf_file.h中(我的版本nginx-1.0.13)#define NGX_MODULE_V1 0, 0, 0, 0, 0, 0, 1#define NGX_MODULE_V1_PADDING 0, 0,转载 2012-07-19 16:09:58 · 3125 阅读 · 0 评论 -
nginx 源码学习笔记(二)
要分析nginx源码,首先要搞懂的就是nginx的模块思想以及相关的数据结构。还记得我们上一次写的helloworld模块么?里面涉及最重要的数据就是ngx_module_t指针数组,这个指针数组包含了当前编译版本支持的所有模块,这个指针数组定义实在自动脚本生成的objs/ngx_modules.c中,如下: extern ngx_module_t ngx_core_module;转载 2012-07-19 16:36:35 · 2902 阅读 · 0 评论
分享