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源码学习资源相关推荐

  1. nginx 源码学习笔记(二)——nginx精粹-模块

    看了一点nginx的源码发现,nginx的模块思想确实吸引了我,也不得不佩服俄罗斯人的想问题方式,要分析nginx源码,首先要搞懂的就是nginx的模块思想以及相关的数据结构. 还记得我们上一次写的h ...

  2. 【Nginx 源码学习】内存池 及 优秀案例赏析:Nginx内存池设计

    文章目录 关于设计内存池之我的想法 内存池案例 malloc 底层原理 jemalloc && tcmalloc Nginx内存池设计 基础数据结构 源码分析 ngx_create_p ...

  3. 结合nginx源码学习error_page和proxy 指令的关系

    ▌proxy_intercept_errors 当上游服务器响应头回来后,可以根据响应状态码的值进行拦截错误处理,与error_page 指令相互结合.用在访问上游服务器出现错误的情况下. 服务部署情 ...

  4. nginx源码学习----内存池详解

    最近在进行监控平台的设计,之前一直觉得C/C++中最棘手的部分是内存的管理上,远不止new/delete.malloc/free这么简单.随着代码量的递增,程序结构复杂度的提高.各种内存方面的问题悄然 ...

  5. nginx 源码学习笔记(二十一)—— event 模块(二) ——事件驱动核心ngx_process_events_and_timers

    首先继续回忆下,之前子线程执行操作里面有一个未涉及的内容ngx_process_events_and_timers,今天我们就来研究下这个函数. 本篇文章来自于:http://blog.csdn.ne ...

  6. nginx 源码学习笔记(十八)—— ngx_add_inherited_sockets 继承的sockets

    之前几节有讲过多进程的创建过程和子进程所处理的事情,今天要讲一下nginx里面main函数的另一个主要的操作ngx_add_inherited_sockets. ngx_add_inherited_s ...

  7. nginx 源码学习笔记(十)——基本容器——ngx_hash

    ngx_hash.{c|h}实现了nginx里面比较重要的一个hash结构,这个在模块配置解析里经常被用到.该hash结构是只读的,仅在初始创建时可以给出保存在其中的key-val对儿,然后就只能进行 ...

  8. nginx源码学习Unix - Unix域协议

    说到什么是域协议就会出现这么个解释: UNIX域协议并不是一个实际的协议族,而是在单个主机上执行客户/服务器通信的一种方法,所用API与在不同主机上执行客户/服务器通信所使用的API相同.UNIX域协 ...

  9. 【Nginx 源码学习】Nginx 的缓冲区

    文章目录 缓冲区结构设计 缓冲区设计图 创建一个缓冲区 分配 chain 节点 分配一个 buf 链表 合并buf链表 从free chain链中获取一个空闲buf 回收链表空间 缓冲区结构设计 网络 ...

最新文章

  1. 千兆宽带:是为了速度而提升速度吗?
  2. mysql-bin.000001文件的来源及处理方法
  3. 华北水利水电大学计算机研究生调剂,2017年华北水利水电大学考研调剂公告
  4. 基于matlab的图像仿真研究,基于MATLAB的图像锐化算法研究与仿真
  5. WPS For Linux
  6. 精通Javascript+jQuery视频下载地址
  7. 胖子哥的大数据之路(8)- 数据仓库命名规范
  8. nginx的带宽限制和并发控制
  9. css3直线运动_【转载】运动曲线提升CSS动画效果
  10. 浅谈中国现货市场环境对期货市场发展的影响
  11. 用计算机处理图像属于啥技术,计算机图像处理技术在网页设计中的应用
  12. 交通期刊JCR(2020)
  13. avcodec_receive_frame
  14. 离线语音智能家居控制
  15. 哥德巴赫猜想的证明(李扩继)
  16. MySQL:创建数据库并插入数据
  17. jquery寻找父子兄弟节点
  18. Screaming Frog Log File Analyser 中文版安装教程
  19. 计算机专业的电脑桌面,电脑技巧_电脑技巧大全 - 桌面天下(Desktx.com)
  20. python变成拍照搜题软件_2020年中国大学MOOC的APP用Python玩转数据作业答案

热门文章

  1. MyBatis 多表联合查询及优化
  2. 四、Dynamic-programming algorithm Dynamic--LCS
  3. linux php 上级目录,Linux目录架构详解_php
  4. 底层知识学习记录目录表
  5. SQL count和case when配合统计给定条件下不重复的记录数
  6. kafka operation
  7. JavaSE--类加载器
  8. Linux —— 常用命令集合
  9. const char *p、char const *p、char *const p
  10. C#在dataGridView中遍历,寻找相同的数据并定位