网络编程
文章平均质量分 73
代码不说谎
这个作者很懒,什么都没留下…
展开
-
nginx 源码(1)编译
今年准备认真一下nginx源码,目的是学习网络编程,我用的源码公开发布的第一个版本 nginx-0.1.0-RELEASE,代码地址: http://hg.nginx.org/nginx/rev/551102312e19 在浏览器里直接点左边的zip或gz就可以下载了。解压后源码目录下有4个文件夹:auto confdocssrc把auto目录下的configure文件拷贝到源码目录,原创 2015-03-15 11:54:42 · 3623 阅读 · 1 评论 -
nginx 源码(2)运行
接上一篇文章 运行时报错,找不到nginx.conf文件,这个文件在conf目录下,为了方便我们把默认的nginx前缀改成当前目录,修改文件auto/options中PREFIX定义为当前目录:if [ ".$PREFIX" = "." ]; then PREFIX=.fi在当前的源码目录下新建文件夹logs 和 html,在html目录下新建文件index.html, 里面输入 su原创 2015-03-15 14:08:04 · 871 阅读 · 0 评论 -
nginx 源码(5)事件驱动架构
接上文。这一节来看看nginx是如何封装epoll构筑整个事件驱动模块的,主要参看了《nginx从入门到精通》 http://tengine.taobao.org/book/index.html 、《nginx模块开发与架构解析》和官方的一些资源http://wiki.nginx.org/Resources。先不去看源码,想想假如我们用epoll来实现服务器会怎么做。创建server socket原创 2015-03-19 23:00:53 · 1527 阅读 · 0 评论 -
nginx 源码(3)调试
接上一篇nginx运行的时候以后台进程运行,一个master和3个process进程,为了方便调试,需要改一下这个配置。这里直接改源码,为了重新make方便,先修改Makefile 从原来的clean: rm -rf Makefile objs修改为:clean: rm -rf nginx objs/ngx_modules.o objs/src/core*.o objs/src/e原创 2015-03-16 22:09:35 · 1095 阅读 · 0 评论 -
nginx 源码(4)主流程
接上文。nginx以单进程在console运行起来,阅读core/nginx.c中的main方法,前面都是初始化的代码,先不仔细看,容易陷入细致魔戒。直接找到ngx_single_process_cycle的定义,在os/unix/ngx_process_cycle.c中。在第一个for循环中添加如下代码: for (i = 0; ngx_modules[i]; i++) {原创 2015-03-16 23:28:27 · 783 阅读 · 0 评论 -
理解网络基础
理解网络基础原创 2015-03-07 23:07:50 · 563 阅读 · 0 评论