Nginx系列文章-目录
》变量和脚本
》双面if
》阶段和指令执行顺序
》ngx中的基本数据结构使用和实现
数组
内存池
队列
list集合
散列表
》编写ngx模块
编写一个核心模块
编写一个http模块
》和配置信息管理
管理模块配置信息
》事件模块实现方式
epoll
定时器
惊群和负载
》http请求过程
》filter作用和实现
过滤器组装和执行
ngx_http_copy_filter_module作用
编写一个过滤器
》子请求
什么是子请求
实现原理
ngx_http_additon_filter_module过滤器模块
编写一个子请求
》upstream使用和实现
如何使用upsteam
实现方式
编写一个upsteam模块
》upstream中的负载均衡
默认轮训
ip_hash模块
如何实现一个负载机制
》proxy_pass指令
》ngx工作模式
master模式
worker模式
》ngx日志管理
》ngx对https的实现
》ngx一些缓存实践
ngx和缓存
ngx和redis
》openresty
事件模型和lua协程
以上是我计划要写的关于ngx的一些文章目录,已经写好的文章会在对应名称上加上链接,以表示发布完成。
目录只是罗列出了我暂时想到的和想写的一些知识点,最终写作顺序和发布顺序可能不会和上面罗列的顺序一致,文章名称也会在写的过程中进行调整。
如果可能的话每篇文章都会先介绍某个知识点是如何使用的,然后在介绍他是如何实现的。比如在介绍变量的时候,我会先介绍变量目前在nginx中的使用状况,并举一些实际的例子,但并不会涉及底层代码实现,所以这一部分比较适合nginx的使用者。之后我会从代码级别介绍它们的实现方式,过程中会尽量用文字和图例的方式来阐述实现方式,尽量减少用贴代码的方式来阐述问题,以便读者能够用更轻松的方式理解问题,所以这一部分比较适合nginx开发者或者想更深层次了解nginx的读者。
像我这种小时候连日记作业都是抄别人的选手,写文章的目的纯粹是为了提高写作能力,因此对于已经发表的文章难免出现缝缝补补,比如发现某些已内容是错误的,或者发现有更好的素材来阐述某些知识点,甚至直接在原文章上修复错误的表述等。基于以上原因,如果读者需要转载文章,请以链接的形式转载,以保证任何时候看到的内容都是最新的。
文章中所有的例子和结论都是在以下环境中完成的:
操作系统:
在vagrant上虚拟出的linux,用uname -a得出如下信息:
Linux vagrant-centos65.vagrantup.com 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
Nginx版本:
nginx-1.9.4