安裝 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 多個開源軟體庫。














