首先要做的当然是下载一份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源码学习 资料的更多相关文章

  1. nginx源码学习资源(不断更新)

    nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源. 首先要做的当然是下载一份nginx源码,可以从nginx官方网站下载一份最新的. 看了nginx源码,发现这是一份完全没 ...

  2. nginx源码学习资源

    http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx的学习资源 ...

  3. nginx源码学习资源(不断更新)转

    原文地址:http://www.cnblogs.com/yjf512/archive/2012/06/13/2548515.html nginx源码学习是一个痛苦又快乐的过程,下面列出了一些nginx ...

  4. nginx源码学习_源码结构

    nginx的优秀除了体现在程序结构以及代码风格上,nginx的源码组织也同样简洁明了,目录结构层次结构清晰,值得我们去学习.nginx的源码目录与nginx的模块化以及功能的划分是紧密结合,这也使得我 ...

  5. Spring源码学习资料

    未完待续.. github地址 https://github.com/spring-projects 学习地址 https://github.com/code4craft/tiny-spring 推荐 ...

  6. nginx源码学习----内存池

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

  7. nginx源码学习_数据结构(ngx_pool_t)

    nginx中关于ngx_pool_t的数据结构位于src/core/ngx_palloc.c和src/core/ngx_palloc.h中,该数据结构主要是和内存池相关的,写下这篇博客前参考了网上很多 ...

  8. nginx源码学习_数据结构(ngx_int_t)

    nginx中关于整型的数据结构位于src/core/ngx_config.h中 结构比较简单,就是一个typedef的操作,具体如下: typedef intptr_t ngx_int_t; type ...

  9. nginx源码学习_数据结构(ngx_str_t)

    nginx中关于字符串的数据结构位于src/core/ngx_string.c和src/core/ngx_string.h中 先来看一下数据结构: typedef struct { size_t le ...

随机推荐

  1. Eric6启动时“无法定位序数4540于动态链接库LIBEAY32.dll”的错误

    参考自:https://blog.csdn.net/HongAndYi/article/details/80721478 在安装PyQt5的编程环境时,安装Eric6-17.12后运行eric6,却出 ...

  2. python3转变exe的方法

    python开发的代码可能在其他windows上并不能使用用,除非别人的环境中也有python. 下面是如何将python开发的东西转为exe格式 1.安装pyinstaller pip instal ...

  3. 使用NSIS制作安装包

    nsis下载地址:http://www.pc6.com/softview/SoftView_14342.html nsis使用: 启动NSIS程序主界面,选择“可视化脚本编辑器(VNISEdit)”菜 ...

  4. nginx_upstream_check_module监控后端服务器http

    nginx_upstream_check_module 是专门提供负载均衡器内节点的健康检查的外部模块,由淘宝的姚伟斌大神开发,通过它可以用来检测后端 realserver 的健康状态.如果后端 re ...

  5. SpringMVC_HelloWorld_01

    通过配置文件的方式实现一个简单的HelloWorld. 源码 一.新建项目 1.新建动态web项目 2.命名工程springmvc-01 3.勾选"Generate web.xml depl ...

  6. MYSQL数据库链接层- SUMMER-SQL

    2015年3月31日 18:27:34 最后编辑: 2016年4月17日 00:22:00 星期日 最后编辑: 2018-4-25 16:58:44 星期三 最新代码: https://gitee.c ...

  7. 用原生js实现ajax、jsonp

    转载: http://www.cnblogs.com/yangheng/p/6065910.html 一.原生js实现ajax $.ajax({ url: '', type: 'post', data ...

  8. [转载]angular通过$http与服务器通信

    转载自:http://www.cooklife.cn/detail/54c5044ec93620284e964b58#View angular是一个前端框架,实现了可交互式的页面,但是对于一个web应 ...

  9. [转] caffe激活层及参数

    在激活层中,对输入数据进行激活操作(实际上就是一种函数变换),是逐元素进行运算的.从bottom得到一个blob数据输入,运算后,从top输入一个blob数据.在运算过程中,没有改变数据的大小,即输入 ...

  10. 第一届CCF软件能力认证

    1.相反数 问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反数(a 和 -a 为一对相反数). 输入格式 第一行包含一个正整数 N.(1 ≤ N ≤ 500). 第二行为 ...