nginx源码剖析(1)----概要
2016-01-04 14:05
495 查看
用“剖析”这个词语有点大言不惭了。
一直对服务器编程感兴趣,选择nginx作为分析的对象是因为其效率比较高,代码量也比较合适(10W行左右),
代码质量高,作者对效率要求非常高,对代码也有异乎寻常的洁癖。
打算写成一个系列,但是本人文档水平一直偏弱,而且写在这里主要目的也只是为了当作学习笔记记录,所以如果各位看官觉得
水平太菜的话尽请见谅,如果有任何错误,敬请指出,在此先行谢过了。
要分析源码,首先需要知道其功能,关于功能请google之。然后分析总体结构,最后深入每一个小块逐步研究和学习。
首先看下Nginx的目录结构:
Nginx源码的src目录下分为如下6个子目录
1. core // 是Nginx服务器的主干部分,包含基本数据结构,main()函数,写log等等
2. event // 事件驱动模型以及相关代码
3. http // 不用多解释了,肯定与http的实现相关了
4. mail // 邮件代理相关了
5. misc //C++兼容性测试和google perftools模块的源码
6. os // 包装(是包装)了系统的函数调用,Unix网络编程里面把这个方式叫做“包裹函数”
最后附上一个讲座视频:http://blog.zhuzhaoyuan.com/category/software/nginx/
一直对服务器编程感兴趣,选择nginx作为分析的对象是因为其效率比较高,代码量也比较合适(10W行左右),
代码质量高,作者对效率要求非常高,对代码也有异乎寻常的洁癖。
打算写成一个系列,但是本人文档水平一直偏弱,而且写在这里主要目的也只是为了当作学习笔记记录,所以如果各位看官觉得
水平太菜的话尽请见谅,如果有任何错误,敬请指出,在此先行谢过了。
要分析源码,首先需要知道其功能,关于功能请google之。然后分析总体结构,最后深入每一个小块逐步研究和学习。
首先看下Nginx的目录结构:
Nginx源码的src目录下分为如下6个子目录
1. core // 是Nginx服务器的主干部分,包含基本数据结构,main()函数,写log等等
2. event // 事件驱动模型以及相关代码
3. http // 不用多解释了,肯定与http的实现相关了
4. mail // 邮件代理相关了
5. misc //C++兼容性测试和google perftools模块的源码
6. os // 包装(是包装)了系统的函数调用,Unix网络编程里面把这个方式叫做“包裹函数”
最后附上一个讲座视频:http://blog.zhuzhaoyuan.com/category/software/nginx/
相关文章推荐
- nginx源码学习----内存池
- nginx中配置跨域支持功能
- Linux上安装Nginx
- 使用gdb调试nginx源码
- Nginx reopen reload作用及工作过程
- nginx+rtmp子进程管理不当导致频繁的deleteStream(未断开连接)
- 配置ab来为Nginx服务器做压力测试的方法
- nginx代理
- OpenResty(Nginx)+Lua+GraphicsMagick实现缩略图功能
- CentOS7安装Nginx-1.9.9+PHP5.6
- nginx之深坑
- 隐藏Nginx或Apache以及PHP的版本号的方法
- fastdfs nginx 配置片段
- apache与nginx的默认虚拟主机的配置及作用
- CentOS 7中 安装nginx服务器
- 解决Nginx+PHP-FPM出现502(Bad Gateway)错误问题
- CentOS7 YUM 安装NGINX
- linux下nginx的安装
- Nginx服务器下配置个性二级域名及多个域名的实例讲解
- 隐藏Nginx或Apache以及PHP的版本号的方法