当前位置: 首页 > article >正文

ngx_http_conf_port_t

定义在 src\http\ngx_http_core_module.h 

typedef struct {
    ngx_int_t                  family;
    in_port_t                  port;
    ngx_array_t                addrs;     /* array of ngx_http_conf_addr_t */
} ngx_http_conf_port_t;

该结构体用于在 Nginx 配置阶段存储 监听端口的配置信息 ,是 listen 指令解析后的核心数据结构。它将同一端口号(如 80)的多个监听地址(如 127.0.0.1:80192.168.1.1:80)集中管理,为后续的套接字绑定和请求路由提供支持


ngx_int_t family

标识协议族(Protocol Family),决定地址类型:

  • AF_INET:IPv4 地址
  • AF_INET6:IPv6 地址

即使端口号相同,IPv4 和 IPv6 的监听配置会被视为独立的端口


in_port_t port
  • 类型 in_port_t(等价于 uint16_t)。
  • 作用
    存储监听的端口号(主机字节序),例如 80443
  • 意义
    作为端口的唯一标识符,用于快速判断新配置的端口是否已存在

ngx_array_t addrs
  • 类型 ngx_array_t(Nginx 动态数组)。
  • 元素类型 ngx_http_conf_addr_t(存储具体地址的配置)。
  • 作用
    管理该端口下的所有监听地址(如 0.0.0.0:80127.0.0.1:80)。
  • 意义
    • 集中管理地址 :同一端口的多个地址配置被统一存储,避免重复绑定。
    • 支持复杂配置 :每个地址可能包含不同的参数(如 sslbindbacklog)。

http://www.kler.cn/a/595246.html

相关文章:

  • 每天学一个 Linux 命令(6):shutdown
  • QT学习笔记3
  • ⭐算法OJ⭐二叉树的后序遍历【树的遍历】(C++实现)Binary Tree Postorder Traversal
  • 强大的AI网站推荐(第二集)—— V0.dev
  • 解释下Cumulative Layout Shift (CLS)以及如何优化?
  • JavaScript(JS)单线程影响速度
  • Linux:gsd-account进程异常内存泄漏排查
  • 背包问题——多重背包(C语言)
  • go中的文件、目录的操作
  • vscode/cursor中python运行路径设置 模块导入问题
  • 【AI论文】Being-0:一款配备视觉-语言模型与模块化技能的人形机器人智能体
  • TK矩阵系统:高效管理与智能化操作平台
  • 故事讲解设计模式:观察者模式
  • Kotlin标准函数库学习
  • csv文件格式和excel数据格式有什么区别
  • 游戏引擎学习第171天
  • JavaScript-函数、对象详解
  • 3.21学习总结
  • 【STM32】SPI通信协议W25Q64Flash存储器芯片(学习笔记)
  • Node.js 包与 npm 详解:使用 npm 的重要注意事项与最佳实践