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

相关推荐
.柒宇.12 小时前
运维常见面试题_04_Nginx与DNS服务
运维·nginx·面试·dns
NGINX开源社区13 小时前
NGINX Ingress Controller 5.5:安全性与性能提升,迁移更轻松
java·服务器·nginx
weixin_3077791314 小时前
PHP 大文件上传:内存占用、超时与最佳实践
linux·服务器·开发语言·nginx·php
闲云野鹤在人间14 小时前
项目实战:LNMP-电商平台-ECshop
linux·运维·nginx·apache·lvs
暖核14 小时前
Keepalived 高可用全解析:从 VRRP 原理到生产环境 Nginx 主备切换实践
网络·nginx·智能路由器
檀越剑指大厂16 小时前
CentOS部署Landlord斗地主项目:源码编译并实现远程访问
linux·运维·centos
SatanII1 天前
403 禁地:Nginx 拒绝所有生者进入
运维·nginx
xianyuCcCcCCCcc1 天前
Nginx 深度解析:从基础架构到反向代理与负载均衡实战全解
linux·运维·nginx·bash·负载均衡
冠希陈、1 天前
Nginx部署SSL,导致多站点串站问题
运维·nginx·ssl
AAA@峥1 天前
K8s 流量入口管理|Ingress 核心原理 + ingress-nginx 部署 + 生产实战案例合集
nginx·容器·kubernetes