
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
Submodule 允许你将一个外部的 Git 仓库(如 Nginx 主线源码)嵌入到你自己的项目仓库中。嵌入的仓库在父仓库中只是一个链接(一个特殊的 Git 对象),记录了它当前指向的特定提交(commit)。在# 创建自定义模块目录 mkdir -p my_modules/ngx_http_hello_module # 创建模块源码文件 cat > my_modules/ngx_http_he
type字段是的核心,它通过位运算组合了多个宏。作用域宏参数个数宏和取值类型宏。是 Nginx 模块开发的基石。理解其nametypesetconfoffset和post字段,以及type字段中作用域、参数个数和取值类型的宏定义,是编写高质量 Nginx 模块的关键。通过合理利用 Nginx 提供的内置slot函数(如等),我们可以高效地解析常见的配置模式,从而专注于模块的核心逻辑。希望本文的讲解
在现代微服务架构中,gRPC 凭借其高性能、跨语言和强大的接口定义能力,成为服务间通信的热门选择。但在实际 Java 项目中,往往希望对外暴露 HTTP 接口,而内部服务调用则使用 gRPC。本文将以一个真实的多模块项目为例,讲解如何用 Spring Boot + gRPC 搭建「HTTP 入口 + gRPC 内部调用」的开发模板。我们将构建一个包含三个模块的 Maven 工程:所有代码使用统一包
摘要 本文深入解析了Nginx HTTP模块开发中的核心结构体ngx_http_request_t,重点介绍了其关键字段和实际应用。文章首先对结构体进行了分类概述,包括请求基本信息、请求头、请求体、连接与上下文等几大类型。随后详细讲解了常用字段如args(查询参数)、method_name(请求方法)、headers_in/out(请求/响应头)等的功能及典型用法,并提供了代码示例。特别对HTTP
本文深入解析了Nginx subrequest子请求机制的源码实现与模块开发。文章首先剖析了核心数据结构ngx_http_request_t和关键函数ngx_http_subrequest的调用链,揭示了父子请求关系、内存池管理等底层机制。随后提供了两个实用开发示例:单子请求处理模块和并行子请求聚合模块(BFF场景),涵盖配置编译、响应捕获、引用计数等完整实现细节。通过源码分析与实例结合,帮助开发
本文深入解析了Nginx upstream模块的核心数据结构与默认加权轮询算法,并指导如何实现自定义负载均衡模块。首先剖析了三个关键结构体:ngx_http_upstream_rr_peer_t(单节点信息)、ngx_http_upstream_rr_peers_t(节点集合)和ngx_http_upstream_rr_peer_data_t(请求选择状态)。然后详细解读了Nginx的平滑加权轮询
本文概述了Nginx模块化开发的三种核心范式:核心模块、事件模块和HTTP模块。核心模块负责全局配置,需实现ngx_core_module_t结构体;事件模块封装I/O复用模型,需提供ngx_event_actions_t回调函数;HTTP模块分为Handler、Filter和Upstream三类,其中Handler模块通过实现请求处理函数来生成响应内容。每种模块类型都有特定的注册方式和编译配置要
本文介绍了一种在Nginx模块开发中实现共享内存Zone数据持久化的高效方法。通过利用init_zone回调的data参数直接访问旧Zone内存,可在reload时实现内存到内存的数据迁移,避免磁盘I/O。文章详细阐述了核心原理:reload时新旧Zone的生命周期、直接内存复制的优势(零磁盘I/O、原子性和可靠性)。代码实现部分展示了关键数据结构定义和核心逻辑——在ngx_http_zone_c
Nginx的location指令优先级与匹配机制解析 本文深入分析了Nginx中location指令的匹配机制,重点解析了精确匹配、前缀匹配和正则匹配的处理流程。文章从核心数据结构入手,详细介绍了ngx_http_location_tree_node和ngx_http_core_loc_conf_t等关键结构体。通过源码分析,揭示了Nginx在配置解析阶段对location的分类处理过程,包括将l
/ 编译后的操作链// 原始操作数组// 参数(变量名等)// ...Nginx 将log_format定义的组合字符串(如)编译成一系列操作,运行时遍历操作链生成日志行。# 全局仅输出警告及以上events {http {server {listen 80;# 为当前虚拟主机打开 info 级别错误日志root html;# 仅记录状态码 >= 400 的请求到独立文件。







