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包。

相关推荐
zx_741484819 小时前
【Linux入门】Linux 安装:VMware Workstation Pro 安装 CentOS 7 保姆级图文教程
linux·centos
墨着染霜华10 小时前
SpringCloud Gateway线上Nginx代理后自定义下划线请求头丢失(app_name/app_version获取不到)完美解决
nginx·spring cloud·gateway
IT爱学堂11 小时前
新版Linux零基础入门到高手Rocky版本-替换CentOS(完结)
linux·运维·centos
流光D11 小时前
AI Era: Building Web Sites and Configuring Nginx Reverse Proxy Process
前端·人工智能·nginx
dazhong201214 小时前
Docker 进阶篇(一) CentOS 7 离线升级 Docker 完整实战
docker·容器·centos
Lsetea14 小时前
Cloudflare报526 Invalid SSL certificate:源站证书与Nginx回源TLS排查
nginx·https·ssl证书·cloudflare·tls
姚不倒15 小时前
负载均衡架构设计:F5 ↔ Nginx/HAProxy ↔ Keepalived 全链路映射
运维·网络·nginx
姚不倒16 小时前
Tengine 实战:主动健康检查 + 动态 Upstream 配置
运维·网络·nginx
qetfw16 小时前
Debian Nginx + PHP-FPM 配置:FastCGI、站点目录与访问验证
linux·nginx·debian·php
hzxpaipai17 小时前
企业官网 Nginx 部署完整流程:HTTPS、301、静态缓存与日志配置
nginx·缓存·https