转自http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html

nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。

首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。

看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。

 

现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份:

这份注释版源码会不断进行更新的

 

好了,第一个问题, nginx的main函数在哪里呢?

src/core/nginx.c

 

第二个问题,nginx启动的时候都做了哪些事情呢?参考下面两篇文章:

 

nginx启动的命令是nginx,重启的命令是nginx -s reload, nginx有master和worker进程,他们之间是怎么通信的呢?可以参考下面的文章:

 

好了,是不是手痒痒了?希望对nginx进行调试?

你是Linux程序员? 使用gdb调试吧。

nginx如何调试  http://doyoueat.iteye.com/blog/1291164

 

gdb调试nginx:

你是windows程序员?想使用vs调试nginx?行

这有个可调试工程:

 

如何编写nginx的第三方模块?miller的文章很好,codinglabs的文章也不错,推荐

 

nginx的基本类型有非常多,那些类型各个类型是那些意思

这类的文章有很多很多,google一下能找出很多

推荐几个人的博客:

 

nginx开发从入门到精通  http://tengine.taobao.org/book/

注:淘宝一批大牛做的,很多东西讲的非常详细。也很系统,强烈推荐

 

nginx模块开发入门  http://www.162cm.com/p/ngx_ext.html

注:入门教程

 

教程书:

《深入理解Nginx -- 模块开发与架构解析》 陶辉

注:非常系统的讲了nginx的模块开发与架构

 《深入剖析Nginx》 高群凯