我们之前说过模块的上下文分别对应四种结构体分别是
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的相关数据结构。
分享到:
相关推荐
nginx-rtmp模块源码包nginx-rtmp-module-master
Nginx 源码分析笔记 自己的源码分析笔记,未完。
自己的nginx源码学习资料,包含《Nginx模块开发指南》和《深入理解Nginx》等,方便初学者了解nginx设计思想以及源码
mac无坑安装nginx(csdn)————程序
添加nginx-http-flv-module模块并重新编译后的nginx(windows版)
Nginx模块源码 nginx-notice-2 一只小麻雀。 通过Post的方式取文件 Nginx 0.7 可编译。
隐藏窗口启动Nginx和PHP——Nginx1.14.2+php-VC15-x64+RunHiddenConsole+启动和停止脚本
Sticky是nginx的一个模块,它是基于cookie的一种nginx的负载均衡解决方案,通过分发和识别cookie,来使同一个客户端的请求落在同一台服务器上,默认标识名为route (a)客户端首次发起访问请求,nginx接收后,发现...
nginx带nginx-http-flv模块,包含所有rtmp功能,我自己在windows下编译的,直接可用,用的是最新版的1.19.4版本
nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码nginx源码
nginx-http-flv-module-master 支持flv模块直播
windows平台nginx编译nginx-http-flv-module,可直接运行,基于nginx-1.17.10编译
在windows 7 64位 环境下使用nginx的nginx-http-flv-module搭建flv视频流播放所有的安装包,参考:https://blog.csdn.net/qq_33071429/article/details/102628008
nginx-upload-module模块源码,用于nginx配置文件上传功能
nginx学习笔记.zip
nginx源码说明;其他下载即可,没下载分了,大家互相帮忙。其他情况大概就这些吧,其他也没什么好说的了,看文档即可
nginx-http-flv-module-master, 因为RTMP,HLS 都会存在这样那样的缺点,为了更好的解决延时问题、拉流兼容性问题,所以我们准备用flv.js 进行拉流。 对应的nginx组件
nginx-upload-progress模块源码,用于nginx配置获取文件上传进度。
nginx-rtmp-module-master源码
--> nginx-1.21.6 ======================== 在网上查找半天都只有教程,没有可免费下载的版本,深知没有积分遍地找资源的痛苦,无奈之下只好自己按照教程一步一个坑编译出来的,供大家免费下载使用。(无毒放心使用...