一直想学习一个优秀的服务器源代码,之前一直纠结在学apache还是ngnix,后来比较一下,还是学习ngnix比较好,因为我目前致力于linux下的服务端软件开发。
尤其是想学一下web服务器的开发。
第一,代码量比较少,貌似就十万行,但是apach几十万行,会很累看的。
第二,技术都比较好,代码风格好。
第三,技术文档少,刺激自己努力学习
第四,目前很优秀的web服务器。
缺点主要是文档少和全是c实现。呵呵要是c/c++就好了,总之,还是决定学习了ngnix
先看一下目录结构,ngnix是一个非常好的优秀的服务端软件,各方面都很规范,就是文档比较少。
├─auto 自动编译安装相关目录
│ ├─cc 针对各种编译器进行相应的编译配置目录,包括Gcc、Ccc等
│ ├─lib 程序依赖的各种库,包括md5,openssl,pcre等
│ ├─os 针对不同操作系统所做的编译配置目录
│ └─types
├─conf 相关配置文件等目录,包括nginx的配置文件、fcgi相关的配置等
├─contrib
├─html index.html
└─src 源码目录
├─core 核心源码目录,包括定义常用数据结构、体系结构实现等
├─event 封装的事件系统源码目录
├─http http服务器实现目录
├─mail 邮件代码服务器实现目录
├─misc 该目录当前版本只包含google perftools包
└─os nginx对各操作系统下的函数进行封装以及实现核心调用的目录。
我下载的代码是0.5稳定版的。不知道1.0和他有什么区别,不过我两份都下载了,到时候比较一下。
更多文章。欢迎访问http://blog.csdn.net/wallwind