nginx源码学习资源
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的模块思想以及相关的数据结构. 还记得我们上一次写的h ...
- 【Nginx 源码学习】内存池 及 优秀案例赏析:Nginx内存池设计
文章目录 关于设计内存池之我的想法 内存池案例 malloc 底层原理 jemalloc && tcmalloc Nginx内存池设计 基础数据结构 源码分析 ngx_create_p ...
- 结合nginx源码学习error_page和proxy 指令的关系
▌proxy_intercept_errors 当上游服务器响应头回来后,可以根据响应状态码的值进行拦截错误处理,与error_page 指令相互结合.用在访问上游服务器出现错误的情况下. 服务部署情 ...
- nginx源码学习----内存池详解
最近在进行监控平台的设计,之前一直觉得C/C++中最棘手的部分是内存的管理上,远不止new/delete.malloc/free这么简单.随着代码量的递增,程序结构复杂度的提高.各种内存方面的问题悄然 ...
- nginx 源码学习笔记(二十一)—— event 模块(二) ——事件驱动核心ngx_process_events_and_timers
首先继续回忆下,之前子线程执行操作里面有一个未涉及的内容ngx_process_events_and_timers,今天我们就来研究下这个函数. 本篇文章来自于:http://blog.csdn.ne ...
- nginx 源码学习笔记(十八)—— ngx_add_inherited_sockets 继承的sockets
之前几节有讲过多进程的创建过程和子进程所处理的事情,今天要讲一下nginx里面main函数的另一个主要的操作ngx_add_inherited_sockets. ngx_add_inherited_s ...
- nginx 源码学习笔记(十)——基本容器——ngx_hash
ngx_hash.{c|h}实现了nginx里面比较重要的一个hash结构,这个在模块配置解析里经常被用到.该hash结构是只读的,仅在初始创建时可以给出保存在其中的key-val对儿,然后就只能进行 ...
- nginx源码学习Unix - Unix域协议
说到什么是域协议就会出现这么个解释: UNIX域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法,所用API与在不同主机上执行客户/服务器通信所使用的API相同.UNIX域协 ...
- 【Nginx 源码学习】Nginx 的缓冲区
文章目录 缓冲区结构设计 缓冲区设计图 创建一个缓冲区 分配 chain 节点 分配一个 buf 链表 合并buf链表 从free chain链中获取一个空闲buf 回收链表空间 缓冲区结构设计 网络 ...
最新文章
- 千兆宽带:是为了速度而提升速度吗?
- mysql-bin.000001文件的来源及处理方法
- 华北水利水电大学计算机研究生调剂,2017年华北水利水电大学考研调剂公告
- 基于matlab的图像仿真研究,基于MATLAB的图像锐化算法研究与仿真
- WPS For Linux
- 精通Javascript+jQuery视频下载地址
- 胖子哥的大数据之路(8)- 数据仓库命名规范
- nginx的带宽限制和并发控制
- css3直线运动_【转载】运动曲线提升CSS动画效果
- 浅谈中国现货市场环境对期货市场发展的影响
- 用计算机处理图像属于啥技术,计算机图像处理技术在网页设计中的应用
- 交通期刊JCR(2020)
- avcodec_receive_frame
- 离线语音智能家居控制
- 哥德巴赫猜想的证明(李扩继)
- MySQL:创建数据库并插入数据
- jquery寻找父子兄弟节点
- Screaming Frog Log File Analyser 中文版安装教程
- 计算机专业的电脑桌面,电脑技巧_电脑技巧大全 - 桌面天下(Desktx.com)
- python变成拍照搜题软件_2020年中国大学MOOC的APP用Python玩转数据作业答案