nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源。
首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的。
看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码。
现在你最希望要的是一份注释版的nginx源码,可以从下面的链接中下载一份:
https://github.com/jianfengye/nginx-1.0.14_comment
这份注释版源码会不断进行更新的
好了,第一个问题, nginx的main函数在哪里呢?
src/core/nginx.c
第二个问题,nginx启动的时候都做了哪些事情呢?参考下面两篇文章:
http://www.pagefault.info/?p=188
http://www.pagefault.info/?p=201&cpage=1
nginx启动的命令是nginx,重启的命令是nginx -s reload, nginx有master和worker进程,他们之间是怎么通信的呢?可以参考下面的文章:
http://simohayha.iteye.com/blog/467940
好了,是不是手痒痒了?希望对nginx进行调试?
你是Linux程序员? 使用gdb调试吧。
nginx如何调试 http://doyoueat.iteye.com/blog/1291164
gdb调试nginx:
你是windows程序员?想使用vs调试nginx?行
这有个可调试工程:
http://liyongping.sinaapp.com/?p=116
如何编写nginx的第三方模块?miller的文章很好,codinglabs的文章也不错,推荐
http://www.codinglabs.org/html/intro-of-nginx-module-development.html
http://www.evanmiller.org/nginx-modules-guide.html
nginx的基本类型有非常多,那些类型各个类型是那些意思
这类的文章有很多很多,google一下能找出很多
nginx开发从入门到精通 http://tengine.taobao.org/book/
注:淘宝一批大牛做的,很多东西讲的非常详细。也很系统,强烈推荐
nginx模块开发入门 http://www.162cm.com/p/ngx_ext.html
注:入门教程
教程书:
《深入理解Nginx -- 模块开发与架构解析》 陶辉
注:非常系统的讲了nginx的模块开发与架构
《深入剖析Nginx》 高群凯