Chinaunix首页 | 论坛 | 博客
  • 博客访问: 368223
  • 博文数量: 87
  • 博客积分: 2571
  • 博客等级: 少校
  • 技术积分: 920
  • 用 户 组: 普通用户
  • 注册时间: 2009-12-29 13:10
文章分类

全部博文(87)

文章存档

2012年(49)

2011年(7)

2010年(26)

2009年(5)

分类: LINUX

2011-12-30 13:53:25

  1. main()函数
  2.         
  3.      ngx_max_module = 0;
  4.      for (i = 0; ngx_modules[i]; i++) {
  5.      ngx_modules[i]->index = ngx_max_module++;
  6.      }//ngx_modules并不是在原代码中被赋值的
  7.         
  8.         
  9.      ngx_init_cycle();//这个函数初始化系统的配置以及网络连接等
  10.                       //首先是加载各子模块的配置信息、并初始化各组成模块。
  11.                       //    任何模块都有两个重要接口组成,一个是create_conf,一个是init_conf。分别是创建配置和初始化配置信息。
  12.         
  13.       if(多进程方式加载)
  14.       ngx_master_process_cycle();
  15.             
  16.             
  17. ngx_open_listening_sockets();//初始化socket    
  18.             
  19.         ngx_master_process_cycle();//重要过程有调用ngx_start_worker_processes()生成多个子进程(一般nginx是多进程的)    
  20.         
  21. ngx_worker_process_cycle();//建立每个进程的实际工作内容
  22.                 
  23. ngx_create_thread();//初始化各线程
  24.                                     //nginx的线程处理函数为 ngx_worker_thread_cycle()
  25.                                     //内部过程中最重要的是对ngx_event_thread_process_posted()函数的调用,用于实际处理每一次请求
  26.                                     
  27.                 ngx_process_events_and_timers();//继续调用 ngx_process_events接口监听事件,一般情况下对应的函数是ngx_epoll_process_events()
  28.                                                 //如果使用的是其它种类的IO模型,则应该实现相应的实际函数。
  29.                                                 //这个接口负责把事件投递到ngx_posted_events事件队列里,并在 ngx_event_thread_process_posted()函数中进行处理                    
  30.                                     
  31.         
  32.         ngx_post_event 用于插入事件
  33.         ngx_delete_posted_event 用于删除事件
阅读(2220) | 评论(0) | 转发(0) |
0

上一篇:ngnix内存池

下一篇:流式媒体协议

给主人留下些什么吧!~~