安装 OpenResty — 全平台完整安装指南
OpenResty 是一个基于 nginx 和 LuaJIT 构建的完整 Web 平台。它让你能完全使用 Lua 来构建高性能 Web 应用、API 网关和 WAF——而不会牺牲 nginx 的吞吐量。无论你是在部署新的边缘节点,还是从原版 nginx 迁移,都需要一种可靠的方式在你的操作系统上安装 OpenResty。
有两条路径。包管理器安装(推荐用于生产环境)可以通过 apt、dnf 或 apk 获得经过签名、测试的二进制包以及自动更新。源码编译适合需要自定义 nginx 模块、非标准安装路径或没有预编译包的平台的高级用户。
本页面是这两种方式的汇总——一份涵盖所有主要 Linux 发行版、ARM64、Alpine 和 macOS 的 OpenResty 安装指南。选择下方你的平台,或者如果你使用 Ubuntu 或 Debian,可以直接跳到快速开始。OpenResty 运行起来之后,推荐的下一步是 OpenResty 教程 →——一个从 Hello World 到生产环境 Lua 应用的七步实战系列。
支持的平台
OpenResty 为以下平台提供官方预编译包。所有列出的 Linux 发行版同时支持 ARM64 / Aarch64——使用各指南中注明的架构专用仓库 URL。
| 平台 | 版本 | 状态 | 详细指南 |
|---|---|---|---|
| Ubuntu | 20.04, 22.04, 24.04 | ✅ 支持 | 在 Ubuntu 上安装 OpenResty → |
| Debian | 11, 12, 13 | ✅ 支持 | 在 Debian 上安装 OpenResty → |
| RHEL / Rocky / Alma / CentOS Stream | 7, 8, 9 | ✅ 支持 | 查看官方 RPM 包说明 → |
| ARM64 / Aarch64 | 跨发行版 | ✅ 支持 | 下方 ARM64 章节 |
| Alpine Linux | 3.10 – 3.18 | ✅ 支持 | 下方 Alpine 章节 |
| macOS (Homebrew) | 最新版 | ✅ 支持 | 下方 macOS 章节 |
| 源码编译 | 任何 Linux / Unix | ✅ 支持 | 下方源码编译章节 |
完整的支持发行版列表——包括 Fedora、Amazon Linux、Rocky Linux 和 SUSE——请参阅官方 Linux 包页面。
快速开始
在 Ubuntu 或 Debian(amd64)上安装 OpenResty 最快只需五条命令。以下步骤适用于 Ubuntu 22.04+ 和 Debian 11+;更早的版本在 GPG 密钥设置上可能略有不同——详情请参阅完整的 Ubuntu 指南。
第 1 步 — 安装前置依赖:
sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates lsb-release
第 2 步 — 导入 OpenResty GPG 密钥:
wget -O - https://openresty.org/package/pubkey.gpg | sudo gpg --dearmor -o /usr/share/keyrings/openresty.gpg
第 3 步 — 添加官方 APT 仓库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/openresty.gpg] https://openresty.org/package/ubuntu $(lsb_release -sc) main" \
| sudo tee /etc/apt/sources.list.d/openresty.list > /dev/null
Debian 系统需将上述 URL 中的 ubuntu 替换为 debian。ARM64 系统请使用 arm64/ubuntu 或 arm64/debian——参见 ARM64 章节。
第 4 步 — 更新包索引并安装:
sudo apt-get update
sudo apt-get -y install --no-install-recommends openresty
第 5 步 — 启动服务并验证:
sudo systemctl start openresty
curl 127.0.0.1/
你应该能看到默认的 OpenResty 欢迎页面。如需包含截图和可选包的完整演练,请参阅完整的 Ubuntu 安装指南 →。
各平台安装指南
Ubuntu (20.04 / 22.04 / 24.04)
OpenResty 为所有当前的 Ubuntu LTS 版本提供官方 APT 仓库,支持 amd64 和 arm64 架构。安装过程涵盖 GPG 密钥设置、仓库配置、软件包安装以及 resty、restydoc 和 OPM 等可选工具。
在 Ubuntu 上安装 OpenResty — 完整分步指南 →
Debian (11 / 12 / 13)
Debian 使用与 Ubuntu 独立的专用 APT 仓库。该仓库支持 Bullseye (11)、Bookworm (12) 和 Trixie (13),涵盖 x86_64 和 aarch64 两种架构。
在 Debian 上安装 OpenResty — 完整分步指南 →
RHEL / Rocky / Alma / CentOS Stream
RHEL 系列发行版使用相同的 YUM/DNF 仓库模型。启用官方 openresty.repo,然后使用 dnf install openresty 安装即可。适用于 CentOS 7/8/9、RHEL 7/8/9、Rocky Linux、AlmaLinux 和 Oracle Linux。
如需 CentOS 8 的详细演练(含截图),请参阅我们的旧版 CentOS 8 安装指南。
ARM64 / Aarch64
OpenResty 为 Ubuntu、Debian 以及所有基于 RPM 的发行版(CentOS、RHEL、Rocky、Fedora)提供专用的 ARM64 包仓库。与 amd64 安装的唯一区别在于仓库 URL。
Ubuntu (ARM64)
导入 GPG 密钥(与 amd64 相同)后,使用 ARM64 仓库:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/openresty.gpg] https://openresty.org/package/arm64/ubuntu $(lsb_release -sc) main" \
| sudo tee /etc/apt/sources.list.d/openresty.list > /dev/null
sudo apt-get update
sudo apt-get -y install openresty
Debian (ARM64)
codename=$(grep -Po 'VERSION="[0-9]+ \(\K[^)]+' /etc/os-release)
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/openresty.gpg] https://openresty.org/package/arm64/debian $codename openresty" \
| sudo tee /etc/apt/sources.list.d/openresty.list
sudo apt-get update
sudo apt-get -y install openresty
CentOS / RHEL / Rocky / Fedora (ARM64)
RPM 仓库的设置与 x86_64 完全相同——同一个 openresty.repo 文件同时服务于两种架构。按照 RHEL 系列安装指南操作,照常运行 dnf install openresty;DNF 会自动选择正确的 aarch64 包。
对于 Fedora:
sudo dnf install -y dnf-plugins-core
sudo dnf config-manager --add-repo https://openresty.org/package/fedora/openresty.repo
sudo dnf install -y openresty
完整的 ARM64 支持发行版列表请参阅官方 Linux 包页面。
Alpine Linux
Alpine 使用 apk 而非 apt 或 dnf。首先,取消注释 /etc/apk/repositories 中的 community 行以启用 Alpine 的社区仓库:
https://mirror.leaseweb.com/alpine/v3.18/community
你的镜像 URL 和版本号可能不同。然后添加 OpenResty 仓库:
# 添加用于签署仓库的公钥
wget 'https://openresty.org/package/admin@openresty.com-5ea678a6.rsa.pub'
sudo mv 'admin@openresty.com-5ea678a6.rsa.pub' /etc/apk/keys/
# 添加仓库(将 MAJOR_VER 调整为你的 Alpine 版本)
. /etc/os-release
MAJOR_VER=$(echo $VERSION_ID | sed 's/\.[0-9]\+$//')
echo "https://openresty.org/package/alpine/v$MAJOR_VER/main" \
| sudo tee -a /etc/apk/repositories
sudo apk update
sudo apk add openresty
可选包:openresty-resty(CLI REPL)、openresty-opm(Lua 模块管理器)和 openresty-restydoc(文档浏览器)。详情请参阅 Linux 包:Alpine。
macOS (Homebrew)
在 macOS 上,推荐通过 Homebrew 安装 OpenResty:
brew install openresty/brew/openresty
如果你之前从 homebrew/nginx 安装过 nginx,请先运行 brew untap homebrew/nginx。完整的 macOS 安装和源码编译说明请参阅官方安装页面。
源码编译
源码编译让你可以完全控制编译选项——自定义 nginx 模块、非默认安装前缀以及没有预编译包的平台。基本步骤如下:
tar -xvf openresty-VERSION.tar.gz
cd openresty-VERSION/
./configure -j2 --with-pcre-jit --with-ipv6
make -j2
sudo make install
export PATH=/usr/local/openresty/bin:$PATH
将 VERSION 替换为下载页面上的最新版本号。使用 ./configure --help 查看所有可用选项,包括用于第三方 nginx 模块的 --add-module=PATH。
请先安装编译依赖:
- Debian / Ubuntu:
sudo apt-get install libpcre3-dev libssl-dev perl make build-essential curl - RHEL / Fedora:
sudo dnf install pcre-devel openssl-devel gcc curl zlib-devel
完整的源码编译指南——包括依赖管理、configure 选项和故障排除——请参阅官方安装文档。
验证安装
在任何平台上安装 OpenResty 后,运行以下检查以确认一切正常。本节适用于所有发行版——子指南会链接回此处,而不是重复相同的步骤。
检查版本
openresty -V
该命令会打印 OpenResty 版本、nginx 版本和已启用的模块。你应该看到类似 nginx version: openresty/1.31.1.1 开头的输出。
启动默认服务器
sudo systemctl start openresty # 基于 systemd 的发行版
sudo openresty # Alpine 或手动安装
确认 nginx 工作进程正在运行:
ps aux | grep nginx
测试默认首页
curl 127.0.0.1/
成功的响应会显示 OpenResty 欢迎页面的 HTML。
安装可选工具
基础 openresty 包不包含 CLI 工具。请从同一仓库单独安装:
| 包名 | 命令 | 用途 |
|---|---|---|
openresty-resty | resty -e 'print("Hello")' | 用于快速脚本编写的 Lua REPL |
openresty-restydoc | restydoc -s content_by_lua_file | 在终端中浏览 nginx/OpenResty 文档 |
openresty-opm | opm get pintsized/lua-resty-http | 安装社区 Lua 模块 |
Debian/Ubuntu 示例:
sudo apt-get -y install openresty-resty openresty-restydoc openresty-opm
resty -e 'print("Hello Resty")'
RHEL 系列系统将 apt-get install 替换为 dnf install。Alpine 使用 apk add openresty-resty openresty-opm openresty-restydoc。
设置开机自启
sudo systemctl enable openresty
升级 OpenResty
将所有已安装的 OpenResty 包升级到最新版本:
Debian / Ubuntu:
sudo apt-get update
sudo apt-get --only-upgrade -y install 'openresty*'
RHEL / Rocky / Alma / CentOS:
sudo dnf check-update
sudo dnf upgrade 'openresty*'
Alpine:
sudo apk update
sudo apk upgrade openresty
常见问题
OpenResty 有什么用途?
OpenResty 将 nginx 变成一个可编程的应用服务器。开发者用它来构建高性能 Web API、反向代理、负载均衡器、WAF 和 CDN 边缘节点——所有这些都使用 Lua 脚本编写,并借助 LuaJIT 的接近原生的执行速度。Cloudflare 和淘宝等大型公司都在大规模使用 OpenResty。
OpenResty 和 Nginx 一样吗?
不一样。OpenResty 将经过补丁的 nginx 核心与 LuaJIT 以及数十个 Lua 库(lua-nginx-module、ngx_lua、lua-resty-*)打包在一起。你得到了 nginx 的事件驱动架构加上一个完整的脚本运行时。openresty 命令替代了 nginx,并且与标准 nginx 配置在 API 层面兼容。
OpenResty 支持哪些 Linux 发行版?
OpenResty 为 Ubuntu、Debian、CentOS、RHEL、Rocky Linux、AlmaLinux、Fedora、Amazon Linux、Alpine、OpenSUSE、SUSE Linux Enterprise、Oracle Linux 以及若干国产发行版(阿里云 Linux、TencentOS)提供官方预编译包。以上大多数发行版同时支持 x86_64 和 ARM64/aarch64 架构。完整的支持矩阵请参阅 Linux 包页面。
如何将 OpenResty 升级到最新版本?
运行包管理器的更新命令,范围限定到 OpenResty 相关的包。Debian/Ubuntu:sudo apt-get update && sudo apt-get --only-upgrade -y install 'openresty*'。RHEL 系列:sudo dnf upgrade 'openresty*'。Alpine:sudo apk upgrade openresty。源码编译的情况下,下载最新的 tarball 并重新执行 ./configure && make && sudo make install。
如果你觉得本指南有用,欢迎订阅本博客和我们的 YouTube 频道,获取更多 OpenResty 教程。
相关指南
- 通过 apt-get 在 Ubuntu 上安装 OpenResty
- 官方 OpenResty Debian 11 包仓库
- 通过 dnf 在 CentOS 8 上安装 OpenResty
- 官方 Linux 包 (openresty.org)
- 源码安装 (openresty.org)
关于作者
章亦春(GitHub handle: agentzh),是 OpenResty® 开源项目的创始人,也是 OpenResty Inc. 公司的 CEO。
章亦春是"开源技术"最早期的倡导者和领袖之一。他曾就职于多家国际知名科技公司,如 Cloudflare、Yahoo! 等。他是"边缘计算"、“动态追踪"和"机器编码"的先驱,拥有超过 22 年的编程经验和 16 年的开源经验。章亦春在开源领域以 OpenResty® 项目的领导者而闻名,该项目已被全球超过 4000 万个网站域名所采用。
OpenResty Inc. 是章亦春于 2017 年创立的企业软件初创公司,其客户包括世界上最大的一些公司。其旗舰产品 OpenResty XRay 是一款非侵入式的性能分析和故障排查工具,充分利用了动态追踪技术。而其 OpenResty Edge 产品是一款强大的分布式流量管理和私有 CDN 软件产品。
作为一名热心的开源贡献者,章亦春已为众多开源项目贡献了超过百万行代码,包括 Linux 内核、Nginx、LuaJIT、GDB、SystemTap、LLVM、Perl 等。他还编写了 60 多个开源软件库。














