您好,欢迎访问一九零五行业门户网

(个人开源)nginx源码注释

地址
https://github.com/langsim/nginx-1.6.2-comment
简介
希望完成一份高可读性的nginx源码注释。
不会注释的内容
spdy相关代码,因为spdy已经被http2取代.线程相关代码,因为至少在1.6.2版本nginx的线程还处在实验性阶段.linux之外其他平台的代码.epoll之外其他事件模型的代码gcc之外其他编译器的代码.mail相关的代码.完成程度
core目录 60%event目录 20%http目录 10%os目录 80%函数链表
http filter模块之间,ngx_http_top_header_filter和ngx_http_top_body_filter会形成两个函数链表, 链表中函数的调用顺序会和对应模块在ngx_modules数组的顺序相反。http请求处理的11个阶段中很多阶段都可以多个回调函数,同一个阶段的回调函数之间调用顺序和对应模块在ngx_modules数组里的顺序相同。 日志
nginx默认有两个log文件:
access.log: 每一个http请求会在里面产生一行记录。error.log: nginx运行时的一些常规,错误或调试日志。进程模型
nginx启动后可能出现四种进程状态:
单进程前台运行单进程守护进程模式一个master进程,一个(或多个)worker进程,一个(或0个)cachemanager进程和一个(或0个)cacheloader进程共同在前台运行一个master进程,一个(或多个)worker进程,一个(或0个)cachemanager进程和一个(或0个)cacheloader进程在守护进程状态下运行。
master进程在启动是用于启动其他进程,启动完成后用于管理其他进程。woker进程,用于实际处理链接请求。cachemanager进程用于按要求清理cache文件。cacheloader进程在启动时会将cache目录里符合条件的cache文件在内存里建立索引,不符合要求的cache文件清除,然后退出。启动后给正在运行的nginx的主进程发信号,然后退出。进程运行状态的切换
重载配置文件(reload)热升级可执行文件编译
nginx的编译与linux平台常规开源软件的编译方式相同,都是运行./configure && make && make install, 在./configure后可加入自己的自定义选项。
nginx使用信号
term, int 快速关闭quit 从容关闭hup 平滑重启,重新加载配置文件usr1 重新打开日志文件,在切割日志时用途较大usr2 平滑升级可执行程序winch 从容关闭工作进程nginx内存池
nginx有两个内存池
在共享内存上分配内存用的内存池在普通内存上申请内存用的内存池,目的是高效的利用内存nginx使用到的计算hash算法
crc32crc16sha1murmurhashmd5nignx进程通信与同步
共享内存的使用信号unix套接字').addclass('pre-numbering').hide(); $(this).addclass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadein(1700); }); }); 以上就介绍了(个人开源)nginx源码注释,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
其它类似信息

推荐信息