首页 > 其他 > 详细

Nginx启动流程概览

时间:2020-04-08 01:46:06      阅读:60      评论:0      收藏:0      [点我收藏+]

Nginx启动流程概览

1、 Init Cycle

2、 Init Process

3、 Start Worker

4、 Event Handle

Init Cycle

  • ngx_cycle 是nginx全局配置,类型为ngx_cycle_t,其结构如下(已精简):
    struct ngx_cycle_s {                                                                                                       
        void                  ****conf_ctx;   //全局配置项
        ngx_pool_t               *pool;                                                                
        ngx_log_t                *log;                                                                                                  
        
        ngx_connection_t        **files;
        ngx_connection_t         *free_connections;
        
        ngx_module_t            **modules;    //module数组                                                                                                          
        ngx_queue_t               reusable_connections_queue;  //重复使用的socket存放队列
        ngx_uint_t                reusable_connections_n;                                                                                                                                                                                             
        ngx_array_t               listening;                                                                                            
        
        ngx_rbtree_t              config_dump_rbtree;
        ngx_rbtree_node_t         config_dump_sentinel;
        
        ngx_connection_t         *connections;
        ngx_event_t              *read_events;
        ngx_event_t              *write_events;
        ... ...
    };
  • 看到ngx_cycle的conf_ctx的指针的层次可知,这个结构将会很复杂,其大致结构为:
    • 第一层指针指向几个类型为NGX_CORE_MODULE的配置结构,以http模块为例,指针类型为ngx_http_conf_ctx_t;
    • 第二层指针指向子类型配置的结构数组,主要体现在HTTP类型模块上,HTTP配置比较复杂,分为Main、Svr、Location三类,所以这一层是含三个元素的数组;
    • 第三层指针指向各个同类型模块的不同类型配置,对HTTP模块而言,Main级别的配置有多个,SVR级别和Loc级别也有多个;
    • 最后一层指针便能访问具体的某一模块的特定配置项。

待续

Nginx启动流程概览

原文:https://www.cnblogs.com/zhangyi-studio/p/12657179.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!