nginx源码学习资源(不断更新)转
原文地址:http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html
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:
http://www.cnblogs.com/yjf512/archive/2012/05/10/2494635.html
你是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一下能找出很多
推荐几个人的博客:
http://blog.csdn.net/livelylittlefish/article/details/7262750
http://blog.csdn.net/dingyujie/article/details/7162919
nginx开发从入门到精通 http://tengine.taobao.org/book/
注:淘宝一批大牛做的,很多东西讲的非常详细。也很系统,强烈推荐
nginx模块开发入门 http://www.162cm.com/p/ngx_ext.html
注:入门教程
教程书:
《深入理解Nginx -- 模块开发与架构解析》 陶辉
注:非常系统的讲了nginx的模块开发与架构
《深入剖析Nginx》 高群凯
nginx源码学习资源(不断更新)转的更多相关文章
- nginx源码学习资源(不断更新)
nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源. 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的. 看了nginx源码,发现这是一份完全没 ...
- nginx源码学习资源
http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源 ...
- nginx源码学习_源码结构
nginx的优秀除了体现在程序结构以及代码风格上,nginx的源码组织也同样简洁明了,目录结构层次结构清晰,值得我们去学习.nginx的源码目录与nginx的模块化以及功能的划分是紧密结合,这也使得我 ...
- nginx源码学习 资料
首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的. 看了nginx源码,发现这是一份完全没有注释,完全没有配置文档的代码. 现在你最希望要的是一份注释版的nginx源码, ...
- nginx源码学习----内存池
最近在进行监控平台的设计,之前一直觉得C/C++中最棘手的部分是内存的管理上,远不止new/delete.malloc/free这么简单.随着代码量的递增,程序结构复杂度的提高.各种内存方面的问题悄然 ...
- nginx源码学习_数据结构(ngx_pool_t)
nginx中关于ngx_pool_t的数据结构位于src/core/ngx_palloc.c和src/core/ngx_palloc.h中,该数据结构主要是和内存池相关的,写下这篇博客前参考了网上很多 ...
- nginx源码学习_数据结构(ngx_int_t)
nginx中关于整型的数据结构位于src/core/ngx_config.h中 结构比较简单,就是一个typedef的操作,具体如下: typedef intptr_t ngx_int_t; type ...
- nginx源码学习_数据结构(ngx_str_t)
nginx中关于字符串的数据结构位于src/core/ngx_string.c和src/core/ngx_string.h中 先来看一下数据结构: typedef struct { size_t le ...
- Java并发包源码学习系列:CLH同步队列及同步资源获取与释放
目录 本篇学习目标 CLH队列的结构 资源获取 入队Node addWaiter(Node mode) 不断尝试Node enq(final Node node) boolean acquireQue ...
随机推荐
- vuejs 中 select 动态填充数据,后台的数据
selected:"A" 对 selected:A 错. 变量不用引号. 内容一定要引号. https://jsfiddle.net/rgnuaw30/ ...
- rsync文档
rsync文档 1.rsync filter过滤 参考http://share.blog.51cto.com/278008/567578/
- ios之UIToolBar
toolbar除了可以和navigationController一起用之外,也可以独立用到view里.工具栏UIToolbar – 一般显示在底部,用于提供一组选项,让用户执行一些功能,而并非用于在完 ...
- GIMP的Path的合并于复制
1/Path的复制不能像图层一样简单的复制粘贴,只有通过merge的方法实现: 使要合并的Path处于可见状态,右击Path工具栏: 合并前与合并后比较: 2/向不同文件复制Path: 到另外一个 ...
- A Fast and Easy to Use AES Library
http://www.codeproject.com/Articles/57478/A-Fast-and-Easy-to-Use-AES-Library Introduction EfAesLib i ...
- Lex与Yacc学习(六)之lex & yacc (简单计算器程序) 运行
词法分析程序ch3-01.l %{ #include "ch3-01.tab.h" extern int yylval; %} %% [0-9]+ { yylval = atoi( ...
- MPEG-4与H.264的区别 , 编码 以及 应用
MPEG4是适用于监控领域的压缩技术 MPEG4于1998年11月公布,原预计1999 年1月投入使用的国际标准MPEG4不仅是针对一定比特率下的视频.音频编码,更加注重多媒体系统的交互性和灵活性.M ...
- PAT Basic 1063
1063 计算谱半径 在数学中,矩阵的“谱半径”是指其特征值的模集合的上确界.换言之,对于给定的 n 个复数空间的特征值 { a1+b1i,⋯,an+bni },它们的模为实部 ...
- 封装微信分享到朋友/朋友圈js
在页面引入: <script src="/static/lib/jquery-2.2.2.min.js"></script><script src=& ...
- java的synchronized可重入锁
在java内部,同一线程在调用自己类中其他synchronized方法/块或调用父类的synchronized方法/块都不会阻碍该线程的执行,就是说同一线程对同一个对象锁是可重入的,而且同一个线程可以 ...