判官007 发表于 2018-11-16 10:44:55

Nginx事件处理(epoll) .

  转自:http://bollaxu.iteye.com/blog/855457
  事件处理是Nginx处理请求的核心,每个子进程在ngx_wrker_process_cycle()的循环里面不断调用ngx_procss_events_and_timers()
  函数来处理各种事件。下面,分析使用epoll机制下的Nginx事件处理过程,用源码分析和debug信息追踪两种方法。
  我们从ngx_worker_process_cycle()函数(即工作进程处理请求的循环)切入:
static void ngx_worker_process_cycle(ngx_cycle_t *cycle, void *data)  
{
  
/*...*/
  
//第一部分:初始化
  
ngx_worker_process_init(cycle, 1);
  
/*...*/
  
for ( ;; ) {
  
/*...*/
  
//第二部分:处理事件
  
ngx_process_events_and_timers(cycle);
  
/*...*/
  
}
  
/*...*/
  
}


页: [1]
查看完整版本: Nginx事件处理(epoll) .