如何在 Rocky Linux 9 或 CentOS Stream 9 下编译安装 OpenResty

By | 最新修改:2025-11-12

前言

本文的目的

本文的主要目的是在 Rocky Linux 9 / CentOS Stream 9 下通过源代码编译安装 OpenResty,同时还随带着一些 Nginx 实用模块来作为动态或静态模块来安装。

什么是 OpenResty

OpenResty 集成了 Nginx 和 Lua 语言,它是名符其实的 高性能 Web 服务器软件

它能方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关, 高性能地响应后端和前端的网络请求

OpenResty 集成了大量用Lua语言编写的应用库、第三方模块以及大量的依赖项。

Nginx 与 OpenResty

Nginx 是一款高性能、易配置、占用资源少的模块化的服务器软件,并且 它既是反向代理软件,也是HTTP Web服务器软件

在平时常态的使用中, OpenResty 的基本功能与 Nginx 无异,比如可以反向代理,负载均衡、实现 Brotli 压缩等等。

并且,在一般情况下, OpenResty 和 Nginx 编译安装所须的依赖项基本一致,就连编译前的条件配置都几乎相同。

为什么要安装 OpenResty

  1. 作为 OpenResty 的基本组成元素, Nginx 是引擎般的地位。
  2. 作为服务器软件, Nginx 是部署 LNMP Web 架构的重要的其中一环,必不可少。

然而本文安装的不仅是 Nginx,而是集成了 Nginx 和 Lua 脚本语言的高性能可伸缩的 Web 平台 OpenResty。

用什么方式安装 OpenResty

本文主要介绍如何带附加模块通过源代码编译安装 OpenResty。

安装 OpenResty 需要的依赖

需要安装一些依赖软件,在 Rocky Linux 9 下它们的版本都较新,然后都可直接通过 dnf 命令来安装。这些依赖包括: OpenSSL 和 CMake。

还有些依赖通过编译安装来保证其版本足够新,比如:libwebp 和 libgd。

除此之外,还会下载一些 Nginx 附加模块的源代码(这些模块照样可在 OpenResty 上用),这些源代码会在 OpenResty 编译时作为动态模块加入,从而集成到 OpenResty 里面去。

更多关于OpenResty的消息

更多关于OpenResty的内容请查阅它的官网: https://openresty.org/

Nginx Logo


安装依赖

安装哪些依赖

Nginx 的 HTTPS 功能要求系统要安装有 OpenSSL,在这里部署的 LNMP 架构要求 WebP 的支持,而 WebP 的支持需要安装有 libwebp,
新版本的 libwebp 和 libgd 编译时要求高版本的 CMake。

接下下来是安装依赖的过程。

后记

安装依赖总结

本文以尽量细致的步骤描述了 Rocky Linux 9 服务器操作系统通过源代码编译的方式安装了 OpenResty 的全过程,并安装编译过程所须的 OpenSSL、LibGD 和libwebp 等开发库。

HTTP 3

OpenResty 的最新版本已经原生地支持 HTTP/3,而 HTTP/3 要配置 SSL/TLS 证书,至于如何配置 TLS 证书,请参考其他资源。

这里推荐一个可以提供免费 SSL/TLS 证书的网站:https://freessl.cn/,此网站可以应用 acme.sh 命令自动化部署 HTTPS 证书。

支持 Brotli

此外,本文还让 OpenResty 支持了 Brotli 压缩,Brotli 是一种压缩效率高、效果好的压缩方式。

只有启用了 HTTPS 才能使用 Brotli 压缩。

结束语

本文的脚本在 Rocky Linux 9 和 CentOS Stream 9 下均测试通过,也可以说,本文的 OpenResty 编译安装过程可以在 RHEL 9 系列服务器操作系统上正确地执行。

部署 LNMP 中的 OpenResty 过程就此暂且结束,如有更新,请留意后续。

最后,感谢阅读!

欢迎访问本人的博客和关注微信公众号!


程序知路

鉴于本人的相关知识储备以及能力有限,本博客的观点和描述如有错漏或是有考虑不周到的地方还请多多包涵,欢迎互相探讨,一起学习,共同进步。

本文章可以转载,但是需要说明来源出处!

本文使用的部分图片来源于网上,若是侵权,请与本文作者联系删除: admin@icxzl.com