nginx源码分析

首先需要了解nginx的源码目录文件结构:

core:文件夹用于存放nginx核心源代码,其中有nginx内部自定义的数据结构,例如字符串、数组、链表、散列表、队列、基数树、以及红黑树等。另外还有nginx核心结构体,例如用于与客户端连接的ngx_connection_t,用于配置解析的ngx_conf_t ,用于缓存的ngx_buf_t ,nginx入口函数main位于nginx.c文件中,该文件还有很多其他的内容。

event:文件中存储了事件处理模块相关的代码,modules存储了I/O多路复用相关的代码,例如 select、epoll、poll、kqueue等。nginx可以根据不同的系统选择不同的方案以实现性能的最大化。

http:文件夹包含nginx处理http请求时所需要的相关模块代码,nginx1.9.5版本实现支持了http2.0。

mail:作为邮件服务器的实现代码。

misc:主要是两个文件,一个是ngx_cpp_test_module.cpp和ngx_google_perftools_module.c其中ngx_cpp_test_module.c用于测试nginx中 引用的头文件是否与C++兼容,ngx_google_perftools_modules.cpp用于支持gperftools的实现。gperftools是否是谷歌开源的性能分析工具。

os:文件夹包含跨平台实现的相关代码。

stream:文件夹包含nginx支持tcp反向代理功能的具体实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值