OpenResty 是一个基于 Nginx 的高性能 Web 平台,它将 Nginx 服务器与 Lua 脚本语言紧密集成在一起,从而使得用户可以使用 Lua 编写各种 Web 应用和服务。OpenResty 提供了一系列的模块和工具,使得开发人员可以轻松地构建动态 Web 应用程序、RESTful API、微服务等。
主要特点
-
高性能:OpenResty 基于 Nginx,这使得它可以处理大量并发连接和请求,表现出色。
-
Lua 脚本支持:通过将 Lua 脚本语言嵌入 Nginx,开发人员可以用 Lua 编写复杂的业务逻辑,包括处理 HTTP 请求、操作数据库等。
-
丰富的模块 :OpenResty 附带了许多实用的模块(如
lua-resty-http
、lua-resty-session
、lua-resty-redis
等),这些模块可以帮助开发人员实现各种功能,如 API 调用、会话管理、缓存等。 -
良好的扩展性:开发人员可以方便地编写自定义的 Lua 模块,扩展 OpenResty 的功能。
-
友好的开发体验:OpenResty 提供了良好的开发工具和文档支持,使得开发人员能够快速上手。
-
广泛应用:由于其高性能和灵活性,OpenResty 已被许多大型网站和应用广泛采用,如 GitHub、Taobao、知乎等。
在 CentOS 7 上编译安装 OpenResty 1.25.3.1:
1. 环境准备
确保系统是最新的,并安装必要的依赖包:
sudo yum update
sudo yum install -y gcc gcc-c++ make curl unzip zlib-devel pcre-devel openssl-devel git
2. 下载并安装 OpenResty 1.25.3.1
2.1 下载 OpenResty
访问 OpenResty 下载页面 或直接使用 wget 下载指定版本:
wget https://openresty.org/download/openresty-1.25.3.1.tar.gz
tar -zxvf openresty-1.25.3.1.tar.gz
cd openresty-1.25.3.1/
2.2 编译和安装 OpenResty
./configure --prefix=/usr/local/openresty
make
sudo make install
2.3 设置环境变量
将 OpenResty 的二进制文件路径添加到路径中:
echo 'export PATH=$PATH:/usr/local/openresty/bin' >> ~/.bashrc
source ~/.bashrc
在OpenResty中安装插件lua-resty-http
1. 下载 lua-resty-http
首先,使用 curl
或 wget
下载指定版本的 tar.gz 压缩包:
# 使用 curl 下载
curl -LO https://github.com/ledgetech/lua-resty-http/archive/refs/tags/v0.17.2.tar.gz
# 或使用 wget 下载
wget https://github.com/ledgetech/lua-resty-http/archive/refs/tags/v0.17.2.tar.gz
2. 解压缩文件
解压缩下载的文件:
tar -xzvf v0.17.2.tar.gz
这将创建一个名为 lua-resty-http-0.17.2
的文件夹。
3. 移动模块到 OpenResty 的合适目录
将解压后的 lua-resty-http
模块移动到 OpenResty 的 lualib/resty/
目录下。例如,如果 OpenResty 安装在 /usr/local/openresty
目录下,执行以下命令:
sudo mkdir -p /usr/local/openresty/lualib/resty/ # 创建目标目录(如果不存在)
sudo mv lua-resty-http-0.17.2/lib/resty/http.lua /usr/local/openresty/lualib/resty/
sudo mv lua-resty-http-0.17.2/lib/resty/http_header.lua /usr/local/openresty/lualib/resty/
sudo mv lua-resty-http-0.17.2/lib/resty/http_connect.lua /usr/local/openresty/lualib/resty/
在OpenResty中安装插件lua-resty-openssl
1. 下载 lua-resty-openssl
使用 git
克隆源代码库:
git clone https://github.com/fffonion/lua-resty-openssl.git
如果没有安装 git
,你也可以直接访问 该链接 并下载 ZIP 文件,然后解压。
2. 移动模块到 OpenResty 的合适目录
假设你在 /usr/local/openresty
目录中安装了 OpenResty,使用以下命令将模块移动到 OpenResty 的 lualib
目录:
# 创建目标目录(如果不存在)
sudo mkdir -p /usr/local/openresty/lualib/resty/
# 移动 lua-resty-openssl 的目录到目标位置
sudo mv lua-resty-openssl/lib/resty/openssl.lua /usr/local/openresty/lualib/resty/
sudo mv lua-resty-openssl/lib/resty/openssl/* /usr/local/openresty/lualib/resty/openssl/