nginx待整理

11-12 nginx
    http框架初始化
        http框架
            由核心模块ngx_http_module、两个http模块ngx_http_core_module、ngx_http_upstream_module构成
        http框架要完成那些工作
            1.处理所有http块配置项
            2.监听web端口处理连接时间、可读时间、可写事件等
            3.有状态机来分析接收到的TCP字符是否是完整的HTTP包
            4.根据接收到的URI和HTTP头按照所在阶段准确分发到某一个http模块,从而调用它的回调方法来处理请求
            5.向HTTP模块提供必要工具方法,可以处理网络I/O、磁盘I/O
            6.提供upstream机制帮助http模块访问第三方服务
            7.提供subrequest机制帮助http模块实现子请求
        介入content阶段两种方式(381页)
            如果希望方法应用于所有用户请求,应该在ngx_http_module_t接口的postconfiguration方法宏,向ngx_http_core_main_conf_t结构体的phases[NGX_HTTP_CONTENT_PHASE]动态数组中添加ngx_http_handler_pt处理方法
            如果希望方法仅应用于URL匹配的某些用户请求,应该在一个location下配置项的回调方法中,把ngx_http_handler_pt方法设置到ngx_http_core_loc_conf_t结构体的handler中
        http是如何介入事件处理的
            ngx_http_block(配置项http的解析方法)
            ngx_http_optimize_servers
            ngx_http_init_listening
            ngx_http_add_listening(将监听端口的handler设置为ngx_http_init_connection)
            ngx_http_init_connection(新连接建立后,调用监听端口的handler,  ls->handler(c))
        http框架的初始化流程(382页)