开发工具:
文件大小: 3mb
下载次数: 0
上传时间: 2014-06-19
详细说明: 《深入理解nginx:模块开发与架构解析》 前 言 第一部分 nginx能帮我们做什么 第1章 研究nginx前的准备工作 / 2 1.1 nginx是什么 / 2 1.2 为什么选择nginx / 4 1.3 准备工作 / 7 1.3.1 linux操作系统 / 7 1.3.2 使用nginx的必备软件 / 7 1.3.3 磁盘目录 / 8 1.3.4 linux内核参数的优化 / 9 1.3.5 获取nginx源码 / 11 1.4 编译安装nginx / 11 1.5 configure详解 / 11 1.5.1 configure的命令参数 / 12 1.5.2 configure执行流程 / 18 1.5.3 configure生成的文件 / 22 1.6 nginx的命令行控制 / 24 1.7 小结 / 27 第2章 nginx的配置 / 28 .2.1 运行中的nginx进程间的关系 / 28 2.2 nginx配置的通用语法 / 31 2.2.1 块配置项 / 31 2.2.2 配置项的语法格式 / 32 2.2.3 配置项的注释 / 33 2.2.4 配置项的单位 / 33 2.2 .5 在配置中使用变量 / 33 2.3 nginx服务的基本配置 / 34 2.3.1 用于调试进程和定位问题的配置项 / 34 2.3.2 正常运行的配置项 / 36 2.3.3 优化性能的配置项 / 38 2.3.4 事件类配置项 / 39 2.4 用http核心模块配置一个静态web服务器 / 41 2.4.1 虚拟主机与请求的分发 / 42 2.4.2 文件路径的定义 / 45 2.4.3 内存及磁盘资源的分配 / 48 2.4.4 网络连接的设置 / 50 2.4.5 mime类型的设置 / 53 2.4.6 对客户端请求的限制 / 54 2.4.7 文件操作的优化 / 55 2.4.8 对客户端请求的特殊处理 / 57 2.4.9 ngx_http_core_module模块提供的变量 / 59 2.5 用http proxy module配置一个反向代理服务器 / 60 2.5.1 负载均衡的基本配置 / 62 2.5.2 反向代理的基本配置 / 64 2.6 小结 / 68 第二部分 如何编写http模块 第3章 开发一个简单的http模块 / 70 3.1 如何调用http模块 / 70 3.2 准备工作 / 72 3.2.1 整型的封装 / 72 3.2.2 ngx_str_t数据结构 / 73 3.2.3 ngx_list_t数据结构 / 73 3.2.4 ngx_table_elt_t数据结构 / 77 3.2.5 ngx_buf_t数据结构 / 77 3.2.6 ngx_chain_t数据结构 / 79 3.3 如何将自己的http模块编译进nginx / 79 3.3.1 config文件的写法 / 80 3.3.2 利用configure脚本将定制的模块加入到nginx中 / 80 3.3.3 直接修改makefile文件 / 84 3.4 http模块的数据结构 / 85 3.5 定义自己的http模块 / 88 3.6 处理用户请求 / 92 3.6.1 处理方法的返回值 / 92 3.6.2 获取uri和参数 / 95 3.6.3 获取http头部 / 98 3.6.4 获取http包体 / 101 3.7 发送响应 / 102 3.7.1 发送http头部 / 102 3.7.2 将内存中的字符串作为包体发送 / 104 3.7.3 经典的“hello world”示例 / 106 3.8 将磁盘文件作为包体发送 / 107 3.8.1 如何发送磁盘中的文件 / 107 3.8.2 清理文件句柄 / 110 3.8.3 支持用户多线程下载和断点续传 / 111 3.9 用c++语言编写http模块 / 112 3.9.1 编译方式的修改 / 112 3.9.2 程序中的符号转换 / 114 3.10 小结 / 114 第4章 配置、error日志和请求上下文 / 115 4.1 http配置项的使用场景 / 115 4.2 怎样使用http配置 / 117 4.2.1 分配用于保存配置参数的数据结构 / 117 4.2.2 设定配置项的解析方式 / 119 4.2.3 使用14种预设方法解析配置项 / 125 4.2.4 自定义配置项处理方法 / 136 4.2.5 合并配置项 / 137 4.3 http配置模型 / 140 4.3.1 解析http配置的流程 / 141 4.3.2 http配置模型的内存布局 / 144 4.3.3 如何合并配置项 / 147 4.3.4 预设配置项处理方法的工作原理 / 149 4.4 error日志的用法 / 150 4.5 请求的上下文 / 155 4.5.1 上下文与全异步web服务器的关系 / 155 4.5.2 如何使用http上下文 / 156 4.5.3 http框架如何维护上下文结构 / 157 4.6 小结 / 158 第5章 访问第三方服务 / 159 5.1 upstream的使用方式 / 160 5.1.1 ngx_http_upstream_t结构体 / 163 5.1.2 设置upstream的限制性参数 / 164 5.1.3 设置需要访问的第三方服务器地址 / 165 5.1.4 设置回调方法 / 166 5.1.5 如何启动upstream机制 / 166 5.2 回调方法的执行场景 / 167 5.2.1 create_request回调方法 / 167 5.2.2 reinit_request回调方法 / 169 5.2.3 finalize_request回调方法 / 170 5.2.4 process_header回调方法 / 171 5.2.5 rewrite_redirect回调方法 / 172 5.2.6 input_filter_init与input_filter回调方法 / 172 5.3 使用upstream的示例 / 173 5.3.1 upstream的各种配置参数 / 174 5.3.2 请求上下文 / 175 5.3.3 在create_request方法中构造请求 / 176 5.3.4 在process_header方法中解析包头 / 177 5.3.5 在finalize_request方法中释放资源 / 180 5.3.6 在ngx_http_mytest_handler方法中启动upstream / 181 5.4 subrequest的使用方式 / 183 5.4.1 配置子请求的处理方式 / 183 5.4.2 实现子请求处理完毕时的回调方法 / 184 5.4.3 处理父请求被重新激活后的回调方法 / 185 5.4.4 启动subrequest子请求 / 185 5.5 subrequest执行过程中的主要场景 / 186 5.5.1 如何启动subrequest / 186 5.5.2 如何转发多个子请求的响应包体 / 188 5.5.3 子请求如何激活父请求 / 192 5.6 subrequest使用的例子 / 193 5.6.1 配置文件中子请求的设置 / 194 5.6.2 请求上下文 / 194 5.6.3 子请求结束时的处理方法 / 195 5.6.4 父请求的回调方法 / 196 5.6.5 启动subrequest / 197 5.7 小结 / 198 第6章 开发一个简单的http过滤模块 / 199 6.1 过滤模块的意义 / 199 6.2 过滤模块的调用顺序 / 200 6.2.1 过滤链表是如何构成的 / 200 6.2.2 过滤链表的顺序 / 203 6.2.3 官方默认http过滤模块的功能简介 / 204 6.3 http过滤模块的开发步骤 / 206 6.4 http过滤模块的简单例子 / 207 6.4.1 如何编写config文件 / 208 6.4.2 配置项和上下文 / 208 6.4.3 定义http过滤模块 / 210 6.4.4 初始化http过滤模块 / 211 6.4.5 处理请求中的http头部 / 212 6.4.6 处理请求中的http包体 / 213 6.5 小结 / 214 第7章 nginx提供的高级数据结构 / 215 7.1 nginx提供的高级数据结构概述 / 215 7.2 ngx_queue_t双向链表 / 217 7.2.1 为什么设计ngx_queue_t双向链表 / 217 7.2.2 双向链表的使用方法 / 217 7.2.3 使用双向链表排序的例子 / 219 7.2.4 双向链表是如何实现的 / 221 7.3 ngx_array_t动态数组 / 222 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.