centos 7环境下构建nginx 1.30

一、背景

由于nginx存在安全漏洞,需要升级至新版本,目前最新的稳定版本为1.30。但是主机老旧,操作系统版本还是centos 7,而官网提供的rpm包,基于centos 7最高版本为1.26,不能满足要求。考虑到需要升级的nginx数量较多,决定基于centos 7自行构建一个1.30版本的nginx rpm包。

二、准备工作

2.1 下载srpm文件

官网(https://nginx.org/packages/centos)提供的基于centos 7的srpm包,最高版本也是1.26,我们选择相对比较接近的基于centos 8的的srpm文件:

在https://nginx.org/packages/centos/8/SRPMS/下载nginx-1.30.1-1.el8.ngx.src.rpm文件。

2.2 准备构建环境

之前的文章里已经介绍了构建rpm包的基本方法,这里不再赘述。root用户下运行命令如下:

复制代码
yum install -y rpm-build
yum install -y rpmdevtools
rpmdev-setuptree

使用rpm命令:

复制代码
rpm -ivh nginx-1.30.1-1.el8.ngx.src.rpm

此时,在/root/rpmbuild目录下的SOURCES目录下会产生源代码压缩包、脚本、文件等,SPECS目录会产生spec文件。

三、构建

centos 8 的spec文件通用性很好,可以直接在centos 7 上进行构建,无需修改。

使用rpmbuild -bb nginx.spec命令进行构建,如果缺少依赖包,按照提示补全。例如我的环境下缺少pcre2-devel,使用yum install -y pcre2-devel命令安装。

完成后在/root/rpmbuild/RPMS目录下就会生成编译好的rpm包。

相关推荐
健康活着就好9 小时前
# Nginx负载均衡四种策略,从原理到配置
nginx
虎头金猫9 小时前
从上传PPT到观众远程打开互动页面:Claper在CentOS 7上的Docker部署、互动组件设置与固定访问地址实战
linux·运维·网络·人工智能·docker·centos·powerpoint
Vitaliy Kostrov(柯维远)10 小时前
谁来承担额外工作?CDN 参与者如何协商资源
nginx·缓存·系统架构·开源·cdn
北城笑笑12 小时前
Server 18 ,Nginx 双服务器 HTTP转HTTPS 代理实战( HTTP 地址换 HTTPS 域名 )
运维·服务器·前端·后端·nginx·http·https
Zenova EdgeOS12 小时前
Linux Nginx 反向代理实战:工业边缘 API 接入与安全加固
linux·nginx·安全·边缘计算·工业网关
普通人613 小时前
宝塔中实现按地区过滤和官网跳转伪静态
服务器·开发语言·nginx·1024程序员节
xiaoqiMikko15 小时前
Linux 实战(九·完):重定向、sudo、通配符的坑 + 报错速查表 —— 三台真机实测
linux·centos
Initialize-le1 天前
Nginx 504 超时、499 一堆?网关排查法
运维·nginx
郭老二1 天前
【docker】docker compose使用,已nginx为例
nginx·docker·容器