8.ccf=ngx_get_conf(cycle->conf_ctx, ngx_core_module); 获取ngx_core_module模块对应的配置 9.ngx_start_worker_processes(cycle, ccf->worker_processes,NGX_PROCESS_RESPAWN); 启动worker进程。 10.加入流程图
进程的启动过程是比较重要的一个环节,为了把这个过程分析透彻,下面会多采用首先分析ngx_master_process_cycle函数,可以分解为以下各步骤: 1、master设置一些需要处理的信号,这些信号包括 SIGCHLD,SIGALRM,SIGIO,SIGINT,NGX_RECONFIGURE_SIGNAL(SIGHUP),NGX_REOPEN_SIGNAL(SIGUSR1), NGX_NOACCEPT_SIGNAL(SIGWINCH),NGX_TE...
nginx的进程启动过程是在ngx_master_process_cycle(src/os/unix/ngx_process_cycle.c)中完成的(单进程是通过ngx_single_process_cycle完成,这里只分析多进程的情况),在ngx_master_process_cycle中,会根据配置文件的worker_processes值创建多个子进程,即一个master进程和多个worker进程。进程之间、进程与外部之间保持通信...
ngx_master_process_cycle()函数,这个函数会启动工作进程干活,并且会处理信号量,处理的过程中会杀死或者创建新的进程。具体流程a) 阻塞所有nginx关心的信号; b) 设置进程的title(如果你用ps –aux来查看就可以分清master与worker进程,这就是title的作用。); c) 按照ngx_core_conf_t中worker_processes数,启动若干...