nginx学习
1.多进程处理方式
每个进程会有一套epoll_wait事件处理逻辑
2.进行间通信使用socketpair
3.nginx.c里的main是入口
4.针对不同平台的处理方式,采用的处理方式与libevent的逻辑类似:
#define ngx_process_events ngx_event_actions.process_events #define ngx_done_events ngx_event_actions.done #define ngx_add_event ngx_event_actions.add #define ngx_del_event ngx_event_actions.del #define ngx_add_conn ngx_event_actions.add_conn #define ngx_del_conn ngx_event_actions.del_conn #define ngx_notify ngx_event_actions.notify #define ngx_add_timer ngx_event_add_timer #define ngx_del_timer ngx_event_del_timer
ngx_event_actions可以根据平台的不同,挂载不同的模块,如ngx_poll_module_ctx.actions,ngx_epoll_module_ctx.actions