Administrator
Published on 2026-01-12 / 3 Visits
0

OpenResty 1.27.1.2 执行 ./configure 时默认包含的模块

#AI

OpenResty 1.27.1.2 执行 ./configure默认包含的模块,分「Nginx 原生核心模块」和「OpenResty 扩展模块」两类详细说明,同时标注核心模块的作用,方便理解默认配置的能力边界。

核心前提

OpenResty 的 ./configure 是基于 Nginx 的配置体系扩展的:

  • 默认启用 Nginx 绝大多数核心模块(满足 HTTP/HTTPS/反向代理等基础能力);
  • 内置 OpenResty 核心的 Lua 生态模块(这是 OpenResty 区别于原生 Nginx 的核心);
  • 仅禁用少数「非核心、小众或需额外依赖」的模块(如 Perl 模块、特定媒体模块)。

一、默认启用的 Nginx 原生核心模块

这些模块是 Nginx 提供基础服务的核心,OpenResty 默认全部启用,无需手动指定:

1. 基础核心模块(必选,无法禁用)

模块类别核心模块作用说明
核心基础ngx_core_moduleNginx 核心配置(端口、进程、日志路径等)
事件驱动ngx_event_core_module事件模型(epoll/kqueue 等,适配系统内核)
配置加载ngx_conf_module解析 nginx.conf 配置文件
进程管理ngx_process_module主进程/工作进程管理

2. HTTP 核心模块(默认全部启用)

OpenResty 以 HTTP 服务为核心,默认启用所有关键 HTTP 模块:

模块名称作用说明
ngx_http_core_moduleHTTP 核心(请求解析、响应构建、location 匹配)
ngx_http_access_module基于 IP/网段的访问控制(allow/deny)
ngx_http_auth_basic_module基础 HTTP 账号密码认证
ngx_http_autoindex_module目录自动索引(访问空目录时显示文件列表)
ngx_http_browser_module浏览器兼容处理(识别 User-Agent)
ngx_http_charset_module响应字符集设置(如 charset utf-8)
ngx_http_gzip_moduleHTTP 响应 gzip 压缩(依赖 zlib 核心依赖)
ngx_http_log_module访问日志/错误日志记录
ngx_http_proxy_moduleHTTP 反向代理(核心能力,对接后端服务)
ngx_http_rewrite_moduleURL 重写(正则匹配、跳转,依赖 PCRE)
ngx_http_static_module静态文件服务(html/css/js 等)
ngx_http_index_module默认首页(index index.html index.lua)
ngx_http_ssl_moduleHTTPS/SSL/TLS 支持(依赖 OpenSSL)
ngx_http_upstream_module上游服务管理(负载均衡、后端节点配置)
ngx_http_cache_module响应缓存(基于磁盘的缓存机制)
ngx_http_headers_module响应头/请求头基础设置(非扩展版)

3. Stream 核心模块(默认启用)

OpenResty 1.27+ 默认启用 Stream 模块(TCP/UDP 代理能力):

模块名称作用说明
ngx_stream_core_moduleStream 核心(TCP/UDP 连接处理)
ngx_stream_ssl_moduleStream 层 SSL/TLS 加密(如 MySQL/Redis 加密代理)
ngx_stream_proxy_moduleTCP/UDP 反向代理
ngx_stream_upstream_moduleStream 上游负载均衡

二、OpenResty 默认内置的扩展模块(核心差异化能力)

这些是 OpenResty 打包的自研模块,默认全部启用,也是 Lua 开发的基础:

模块名称作用说明
ngx_devel_kit (NDK)OpenResty 模块开发工具包(其他扩展模块依赖)
ngx_lua_moduleHTTP 层 Lua 脚本核心模块(OpenResty 核心)
ngx_stream_lua_moduleStream 层 Lua 脚本模块(TCP/UDP 层用 Lua)
echo-nginx-module快速输出响应、调试(echo 指令)
set-misc-nginx-module扩展变量处理(如 base64、哈希、JSON 转义)
headers-more-nginx-module增强头信息处理(修改/清除响应头,比原生强大)
srcache-nginx-module响应缓存增强(配合 Lua 实现精细化缓存)
redis-nginx-moduleRedis 同步访问模块(直接在 Nginx 层操作 Redis)
redis2-nginx-moduleRedis 全协议支持(支持复杂命令如 MULTI/EXEC)
memc-nginx-moduleMemcached 操作模块
array-var-nginx-module数组变量处理(Lua 外的补充)
encrypted-session-nginx-module加密会话管理
form-input-nginx-module表单数据解析(POST 表单处理)

三、默认禁用的模块(需手动启用)

以下模块 OpenResty 默认不启用,需通过 ./configure --with-xxx 手动开启:

  1. 小众功能模块ngx_http_perl_module(Perl 脚本)、ngx_http_flv_module(FLV 流媒体)、ngx_http_mp4_module(MP4 流媒体);
  2. 需额外依赖的模块ngx_http_geoip_module(GeoIP 地域解析,需 GeoIP 库)、ngx_http_xslt_filter_module(XML 转换,需 libxml2);
  3. 实验性/旧版模块ngx_http_echo_module 之外的小众调试模块、旧版兼容模块。

四、如何验证当前配置的模块列表

如果你想确认自己执行 ./configure 后实际启用的模块,有 2 种方法:

方法 1:编译后查看 Nginx 版本信息

# 进入安装目录
cd /opt/openresty-1.27.1.2/nginx/sbin

# 查看编译参数(包含所有启用/禁用的模块)
./nginx -V

输出中会显示 --add-module(OpenResty 扩展模块)、--with-xxx(启用的模块)、--without-xxx(禁用的模块)。

方法 2:查看 configure 帮助文档

# 进入 OpenResty 源码目录
cd /opt/tmp/openresty-1.27.1.2

# 查看所有可配置的模块(标注默认状态)
./configure --help

总结

  1. OpenResty 默认启用 Nginx 核心 HTTP/Stream 模块(满足基础反向代理、静态服务、HTTPS)+ OpenResty Lua 生态模块(核心差异化能力);
  2. 仅禁用「非核心、需额外依赖或小众」的模块,无需手动配置即可满足 99% 的常规场景(如 API 网关、反向代理、Lua 脚本开发);
  3. 验证模块配置的核心方法是编译后执行 nginx -V,可精准查看当前启用的所有模块。