Fedora42和Debian13上编译安装OpenResty-1.27.1.1

关于OpenResty和Nginx的区别或需要安装Nginx查看这篇文章:Fedora42和debian13上编译安装NGINX-1.29.2

文章内容

  • Fedora42上编译安装OpenResty
  • Debian13上编译安装OpenResty

Fedora42上编译安装OpenResty

更新系统并安装依赖

  • pcre-devel:支持正则表达式(Nginx 核心依赖);
  • openssl-devel:支持 HTTPS(SSL/TLS);
  • zlib-devel:支持数据压缩
# 更新系统包(可选,建议执行)
sudo dnf update -y

# 安装编译依赖
sudo dnf install -y gcc gcc-c++ make wget perl \
pcre pcre-devel \
openssl openssl-devel \
zlib zlib-devel

下载 OpenResty 源码

# 下载源码包(官网地址:https://openresty.org/download/)
wget wget https://openresty.org/download/openresty-1.27.1.1.tar.gz

# 解压源码
tar -zxvf openresty-1.27.1.1.tar.gz

# 进入源码目录
cd openresty-1.27.1.1/

配置编译选项

  • 通过./configure脚本配置安装路径和启用模块(默认已包含核心模块,可按需扩展)
  • 更多配置选项可通过./configure --help查看
./configure \
--prefix=/usr/local/openresty \
--with-http_ssl_module \
--with-pcre-jit \
--with-stream \
--without-http_redis2_module

编译并安装
安装完成后,OpenResty 会被部署到/usr/local/openresty目录

# 编译(-jN 启用多线程编译,N为CPU核心数,加速编译)
make -j$(nproc)

# 安装(需root权限)
sudo make install

配置环境变量

# 编辑环境变量配置文件
echo 'export PATH=/usr/local/openresty/bin:$PATH' >> ~/.bashrc

# 重新加载环境变量
source ~/.bashrc

# 检查openresty版本(实际与nginx版本一致)
openresty -v
# 或直接检查nginx命令(两者等价)
nginx -v

# 启动OpenResty(默认加载/usr/local/openresty/nginx/conf/nginx.conf)
sudo openresty

# 验证服务运行
ps aux | grep openresty
root 25165 0.0 0.0 14256 3568 ? Ss 21:59 0:00 nginx: master process /usr/local/openresty/bin/openresty
root 25245 0.0 0.0 6536 2200 pts/0 S+ 22:10 0:00 grep --color=auto openresty

将路径添加到 sudo 的环境变量

# 编辑 sudo 配置文件
sudo visudo

# 在文件中找到Defaults secure_path一行
#(通常类似:Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin),
# 在末尾添加:/usr/local/openresty/bin,修改后如下
Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/openresty/bin

# 重新测试sudo openresty
sudo openresty -v # 验证版本
sudo openresty # 启动服务

配置防火墙与 SELinux(可选)

# 开放HTTP(80)和HTTPS(443)端口(永久生效)
sudo firewall-cmd --add-service=http --permanent
sudo firewall-cmd --add-service=https --permanent
# 重新加载防火墙规则
sudo firewall-cmd --reload

临时关闭SELinux

# 编辑 SELinux 配置文件
sudo nano /etc/selinux/config
#将 SELINUX=enforcing 改为 SELINUX=disabled,保存退出。

# 彻底禁用 SELinux(避免重启后残留上下文)
sudo grubby --update-kernel ALL --args selinux=0

# 重启系统并验证
sudo reboot
sestatus # 应输出 `SELinux status: disabled`

常用命令

启动:sudo openresty
停止:sudo openresty -s stop
重启:sudo openresty -s reload
检查配置文件:sudo openresty -t

Debian13上编译安装OpenResty

更新系统并安装依赖

  • libpcre3-dev:PCRE 库开发文件(支持正则表达式);
  • libssl-dev:OpenSSL 开发文件(支持 HTTPS);
  • zlib1g-dev:zlib 压缩库开发文件;
  • perl:OpenResty 配置脚本依赖的解释器(必装)。
#
 更新系统包索引
sudo apt update -y

# 安装编译工具及依赖
sudo apt install -y gcc g++ make wget perl \
libpcre3 libpcre3-dev \
libssl-dev \
zlib1g zlib1g-dev

下载 OpenResty 源码

  • 如需更多模块,可通过./configure --help查看可选参数。
# 下载源码包
wget https://openresty.org/download/openresty-1.27.1.1.tar.gz

# 解压并进入目录
tar -zxvf openresty-1.27.1.1.tar.gz
cd openresty-1.27.1.1

配置编译选项

./configure \
--prefix=/usr/local/openresty \
--with-http_ssl_module \
--with-pcre-jit \
--with-stream \
--without-http_redis2_module

编译并安装

# 多线程编译(-j$(nproc)自动匹配CPU核心数)
make -j$(nproc)

# 安装(需root权限)
sudo make install

配置环境变量

# 使用visudo命令(安全编辑sudo配置的工具)修改配置
sudo visudo

# 添加 OpenResty 路径到secure_path
# 在路径末尾添加:/usr/local/openresty/bin(OpenResty 命令所在目录),修改后如下:
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/openresty/bin"

# 步骤 3:保存并退出
 Ctrl+O 保存(输入文件名时直接回车确认);
 Ctrl+X 退出编辑器。

# 验证效果
# 检查版本(验证命令是否被识别)
sudo openresty -v

启动服务

sudo openresty

# 验证运行状态#
ps aux | grep openresty

# curl 本地测试
curl -i http://localhost/

配置防火墙(可选)

sudo ufw allow http
sudo ufw allow https
sudo ufw allow ssh
sudo ufw enable

常用命令

启动:sudo openresty
停止:sudo openresty -s stop
重启:sudo openresty -s reload
检查配置:sudo openresty -t