首页 > 代码库 > NginX笔记提纲

NginX笔记提纲

    看Nginx也有几星期了,还没看完的还是很多,事件模型的具体实现、accept_mutex等、http框架等。一边看书,也一边旁敲侧击地搜罗了其他知识。因此,打算一边学习,一边按照自己的流程和理解简单写点总结,提纲如下。

1  NginX 简介

    Igor Sysoev和F5项目

    NginX特点:高并发,低内存,少进程,事件驱动,配置人性化。

    各服务器比较

    基于模块化的系统架构:核心框架、HTTP框架、事件框架(一切都充斥着“中央集权”的味道)

    进程模型:master只负责管理worker,模块由worker运行; 循环。

    src目录总览              core和os

              http  event   mail  etc

   

2  编译和使用

    ngx_module.c 数组

    make install/ upgrade (见各Makefile)

    平滑升级是几个意思

    为了一个Warning修改Makefile

    信号-USR2 和 各种-SIGXXX

3  配置文件的书写,性能调优

4  简单HTTP模块的组成

    一个乱七八糟的mytest

5  NginX解析配置文件的流程

    tyoedef struct {...} my_conf_t;

                               ngx_module_t

   ngx_http_module_ctx_t    ngx_command_t [...]

   8个回调                            数组

   (create and merge)          set和offset

 

    struct{

         * main_conf

         * srv_conf

         * loc_conf

    }和offsetof宏

6  针对4-5的实例

    涉及str_t,array_t

    编写过程中遇到的烦心事

            强制转化

            static写不写

            type检查是自动的

           弹出了文件而非页面

7  事件驱动

    select

    epoll

    libev

8   Nginx中基于epoll的事件模块的设计

    ngx_event源码

    instance标志位

9  内存管理

    mallloc和memalign原理

    buddy和slab简述

    ngx_palloc源码

    ngx_slab源码,以及实际用到slab的地方

10  陶辉老师访谈总结

 

NginX笔记提纲