nginx 源码学习笔记(五)——nginx精粹-模块

我们之前说过模块的上下文分别对应四种结构体分别是

ngx_core_module_t、

ngx_event_module_t、

ngx_http_module_t、

ngx_mail_module_t

分别对应四类模块



这四个结构体都提供了钩子,以便模块注册与上下文有关的操作,核心模块提供了core和event模块也提供了create_conf和init_conf两个钩子,除此之外还提供了一些操作时间的钩子;http模块提供了几个在读配置文件前后和操作mail/src/loc配置项时执行的钩子;mail模块也提供一些类似于http模块的钩子,不过比http模块简单些。

 

core模块,他会在系统的许多部分配置用,比如errlog模块负责写错误日志;


event模块是时间驱动相关的模块,nginx在不同操作系统上会使用不同的内核机制,例如linux中就可以使用epoll模块;


http模块式用于处理http输入,产生输出,过滤输出,负载均衡等的模块,这是nginx作为web服务器的核心部分;


mail模块实现邮件代理的模块,实现smtp/pop3/imap等协议的邮件代理。

 

讲到这里希望大家能够对nginx有个大体上的认识,起码在模块上能够,其实现在可以证实开始源码精读了,但是为了更好地理解细节,我们在读源代码前要学一下nginx的相关数据结构。

posted on 2012-03-15 11:20  h2内存数据库  阅读(354)  评论(0编辑  收藏  举报

导航