一、研究Nginx前的准备工作
1.Nginx特点:更快、高扩展性、高可靠性、低内存消耗、单机支持10万以上的并发连接、热部署、最自由的BSD许可协议
2.退出nginx
3.日志回滚:nginx -s reopen
二、Nginx的配置
A.运行中的Nginx进程间的关系
B.Nginx服务的基本配置
1.用于调试进程和定位问题的配置项
2.正常运行的配置项
3.优化性能的配置
4.事件类配置项
C.用HTTP核心模块配置一个静态Web服务器
1.虚拟主机与请求的分发
2.文件路径的定义
3.内存及磁盘资源的分配
4.网络连接的设置
5.MIME类型的设置
6.对客户端请求的限制
7.文件操作的优化
8.对客户端请求的特殊处理
D.用HTTP proxy module配置一个反向代理服务器
1.负载均衡的基本配置
2.反向代理的基本配置
三、开发一个简单的HTTP模块
1.整型的封装:ngx_int_t、ngx_uint_t
2.字符串:ngx_str_t
3.链表容器:ngx_list_t
4.key/value对:ngx_table_elt_t
5.缓冲区:ngx_buf_t
6.与ngx_buf_t配合使用的链接结构:ngx_chain_t
四、配置、error日志和请求上下文
五、访问第三方服务
1.upstream可以保证在与第三方服务器交互时(包括三次握手建立TCP连接、发送请求、接收响应、四次握手关闭TCP连接等)不会阻塞Nginx进程处理其他请求
2.subrequest是分解复杂请求的一种设计模式,最终也是基于upstream实现的
3.当我们希望把第三方服务的内容几乎原封不动地返回给用户时,一般使用upstream方式,可以非常高效地透传HTTP;如果访问第三方服务只是为了获取某些信息,再依据这些信息来构造 响应并传送给客户,应该使用subrequest方式
六、开发一个简单的HTTP过滤模块
七、Nginx提供的高级数据结构
八、Nginx基础架构
九、事件模块
十、HTTP框架的初始化
十一、HTTP框架的执行流程
十二、upstream机制的设计与实现
十三、邮件代理模块
十四、进程间的通信机制
十五、变量
十六、slab共享内存