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

相关推荐
还是大剑师兰特3 天前
解决nginx错误:http://localhost:7000正常,http://localhost:7000/map 报错404
nginx·大剑师
xing-xing3 天前
Docker容器中Nginx站点根目录网页配置访问
nginx·docker
PC2005-cloud3 天前
Nginx 防盗链配置实战:用 referer 模块保护网站静态资源
nginx
PHP实战开发录3 天前
Nginx上传大文件为什么报413
nginx·php·开发
Lsetea4 天前
Nginx报No required SSL certificate was sent:mTLS客户端证书排查
运维·nginx·https·ssl·openssl
szephyr5 天前
HTTPS 证书申请与自动续期:acme.sh + Let‘s Encrypt 完整记录
nginx·https·acme.sh·证书续期
Lsetea5 天前
部署证书后提示“证书名称与输入不匹配”:Safari 报错的三层排查
nginx·https·safari·ssl证书·openssl
daemon.qiang5 天前
国内虚拟机对接 Freedesktop:Fork xserver、自建 Runner 与提交 MR 实战
linux·ubuntu·centos·gitlab·开源软件
打工仔折腾 AI5 天前
FastAPI 从本机到生产服务器:Nginx+Gunicorn+Uvicorn 完整部署实录
人工智能·后端·python·nginx·fastapi·gunicorn
Linux运维技术栈6 天前
如何避免绕过CDN的攻击?基于 CDN 回源请求头鉴权的防御实操与安全性剖析
nginx·安全·cdn