当前位置: 首页 > news >正文

基于Linux直接安装的Nginx版本升级方法

引言

随着版本的迭代和漏洞的发现,Nginx作为一款软件避免不了打补丁的命运。

以下基于Linux直接安装的Nginx版本升级。

以下操作均在本地虚拟机中操作验证,请验证后再线上操作。基于centos7测试。

前置资源

  • 获取nginx的最新源码版本网址: http://freenginx.org/
  • 查看nginx的版本命令: nginx -V

基于源码安装Nginx

安装编译环境

nginx基于c语言编写的,所以安装之前需要安装编译环境。

### 安装编译环境和依赖包
yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
## 验证编译环境是否安装成功
gcc --versiongcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

逆向编译命令

nginx编译通过 ./configure 命令加指定参数来完成,对应的参数决定了应用程序的安装位置、日志文件位置、依赖库使用情况等。

所以在安装之前需要知道如下信息:

  • 使用到的依赖库
  • 程序安装位置
  • 启用的模块

以上信息可以通过ngingx -V来获取。

## 进入nginx的安装目录
nginx -V
## 可以看到对应的配置参数信息
nginx version: nginx/1.24.0
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-http_stub_status_module

安装新版本nginx

  • 到正式网站下载源码:http://freenginx.org/en/download.html 推荐Free版本 或者 http://nginx.org/en/download.html F5版本

freenginx 是nginx被F5收购出来的一个独立分支,由原来的nginx的核心人员维护,就像mariadb和mysql的关系。

  • 上传源码到指定服务器,开始安装。
# 解压源码
tar -xf nginx-1.25.4.tar.gz
cd nginx-1.25.4
## 根据逆向得到的参数进行编译
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-http_stub_status_module
##  如果缺少对应依赖库,可以通过如下命令安装
yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
## 也可以到对应库的正式网站下载安装,通过命令指定安装位置,比如
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-http_stub_status_module --with-pcre=/root/install_app/pcre2-10.43
## 安装
make
make install
## 查看安装后的版本
/usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.25.4
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-http_ssl_module --with-stream --with-http_stub_status_module --with-pcre=/root/install_app/pcre2-10.43

以上是通过覆盖的方式升级nginx,注意提前做好备份,避免数据丢失。

基于安装包安装Nginx

nginx在linux上做了很多分发包,包括debian、centos、ubuntu等。通过nginx官方的安装包升级nginx,可以避免编译过程的麻烦。

确认nginx是通过安装包安装的,可以通过安装路径查看。一般nginx的安装路径为分开的,包括任意路径可以执行nginx -V

centos通过rpm -qa nginx查找nginx的安装包是否存在。

升级过程如下:


## 安装nginx的仓库源,访问 http://nginx.org/packages/centos/7/noarch/RPMS/ 下载 nginx-release-centos-7-0.el7.ngx.noarch.rpm  
wget http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
## 安装nginx源
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
## 查看nginx安装包列表
yum --showduplicates list nginx
## 安装最新版本的nginx
yum install nginx.x86_64
## 验证版本
nginx -V

说明

以上就是nginx 1.21.5升级到1.25.4的过程。不同镜像版本可能升级过程不一致。

请在虚拟机中操作验证,请勿直接线上生产主机操作。

关于作者

来自一线全栈程序员nine的八年探索与实践,持续迭代中。欢迎关注“雨林寻北”或添加个人卫星codetrend(备注技术)。

相关文章:

基于Linux直接安装的Nginx版本升级方法

引言 随着版本的迭代和漏洞的发现,Nginx作为一款软件避免不了打补丁的命运。 以下基于Linux直接安装的Nginx版本升级。 以下操作均在本地虚拟机中操作验证,请验证后再线上操作。基于centos7测试。 前置资源 获取nginx的最新源码版本网址&#xff1a…...

探索设计模式的魅力:状态模式揭秘-如何优雅地处理复杂状态转换

​🌈 个人主页:danci_ 🔥 系列专栏:《设计模式》 💪🏻 制定明确可量化的目标,并且坚持默默的做事。 探索设计模式的魅力:状态模式揭秘-如何优雅地处理复杂状态转换 文章目录 一、案例…...

力扣hot100题解(python版10-12题)

哎- -最近本来就没时间写算法 这算法怎么还这么难。。。 10、和为 K 的子数组 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums [1,1,1]…...

【算法】复杂度分析

第一章、如何分析代码的执行效率和资源消耗 我们知道,数据结构和算法解决的是“快”和“省”的问题,也就是如何让代码运行得更快,一级如何让代码更节省计算机的存储空间。因此,执行效率是评价算法好坏的一个非常重要的指标。那么&…...

车载电子测试学习内容

搜集了一些车载测试的学习内容,大家可以参考。...

STM32F103x 的时钟源

AHB (Advanced High-performance Bus) 高速总线,用来接高速外设的。 APB (Advanced Peripheral Bus) 低速总线,用来接低速外设的,包含APB1 和 APB2。 APB1:上面连接的是低速外设,包括电源接口、备份接口、 CAN 、 US…...

【电路笔记】-RC放电电路

RC放电电路 文章目录 RC放电电路1、概述2、RC放电电路3、RC放电电路示例当电压源从完全充电的 RC 电路中移除时,电容器 C 将通过电阻 R 放电。 1、概述 RC 放电电路利用电阻器-电容器组合的固有 RC 时间常数以指数衰减率对电容器进行放电。 在之前的 RC 充电电路教程中,我们…...

【C++STL】STL容器详解

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…...

缓存篇—缓存雪崩

什么是缓存雪崩 通常我们为了保证缓存中的数据与数据库中的数据一致性&#xff0c;会给 Redis 里的数据设置过期时间&#xff0c;当缓存数据过期后&#xff0c;用户访问的数据如果不在缓存里&#xff0c;业务系统需要重新生成缓存&#xff0c;因此就会访问数据库&#xff0c;并…...

力扣日记2.22-【回溯算法篇】47. 全排列 II

力扣日记&#xff1a;【回溯算法篇】47. 全排列 II 日期&#xff1a;2023.2.22 参考&#xff1a;代码随想录、力扣 47. 全排列 II 题目描述 难度&#xff1a;中等 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输…...

如何理解三大微分中值定理

文章看原文,自己写的只是备份 高等数学强化2:一元函数微分学 中值定理 极值点 拐点_一元函数中值定理-CSDN博客 高等数学强化3:一元函数积分学 P积分-CSDN博客 高等数学强化3:定积分几何应用-CSDN博客...

Linux--自定义shell

shell shell就是操作系统提供给用户与操作系统进行交互的命令行界面。它可以理解为一个用户与操作系统之间的接口&#xff0c;用户可以通过输入命令来执行各种操作&#xff0c;如文件管理、进程控制、软件安装等。Shell还可以通过脚本编程实现自动化任务。 常见的Unix系统中使…...

AIGC 实战:Ollama 和 Hugging Face 是什么关系?

Ollama和 Hugging Face 之间存在着双重关系&#xff1a; 1. Ollama是 Hugging Face 开发并托管的工具&#xff1a; Ollama是一个由 Hugging Face 自行开发的开源项目。它主要用于在本地运行大型语言模型 (LLM)&#xff0c;特别是存储在 GPT 生成的统一格式 (GPT-Generated Un…...

Gitee教程2(完整流程)

1.配置git git config --global user.name "用户名" git config --global user.email "密码" 如何获取&#xff1f; gitee右上角加号点击新建仓库&#xff0c;仓库名随便起一个就行 找到这条命令&#xff0c;把这两句一个一个复制到vscode终端就行 2.创建g…...

Go 1.22 中的 for 循环新特性详解

目录 每次迭代都创建新变量 支持整数类型循环 小结 在 Go 语言中&#xff0c;for 循环是实现迭代的主要方式。Go 中的 for 循环非常灵活&#xff0c;有多种使用方式&#xff0c;包括传统的三部分 for 循环、类似于其他语言中的 while 循环以及迭代集合的 range 循环。 在 1…...

igolang学习2,golang开发配置国内镜像

go env -w GO111MODULEon go env -w GOPROXYhttps://goproxy.cn,direct...

R语言空间分析、模拟预测与可视化

随着地理信息系统&#xff08;GIS&#xff09;和大尺度研究的发展&#xff0c;空间数据的管理、统计与制图变得越来越重要。R语言在数据分析、挖掘和可视化中发挥着重要的作用&#xff0c;其中在空间分析方面扮演着重要角色&#xff0c;与空间相关的包的数量也达到130多个。在本…...

体育赛事直播系统软件开发

体育赛事直播系统的软件开发是一个复杂的项目&#xff0c;需要多个方面的准备和工作。以下是开发这样一个系统可能涉及的主要步骤和考虑因素&#xff1a; 需求分析和规划&#xff1a;首先需要明确系统的功能需求&#xff0c;包括直播视频的流媒体处理、用户管理、直播赛事安排…...

使用 kind 集群安装运行极狐GitLab Runner【上】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署极狐GitLab。 关于 kind kind 是一个用来运行本地 Kubernetes 机群的工具&a…...

wine 源码 vk3d wine-gecko wine-mono 各版本 国内下载地址 中国科技技术大学源

下载地址 Index of /wine/...

如何永久珍藏你的微信数字记忆?WeChatMsg让聊天记录成为永恒财富!

如何永久珍藏你的微信数字记忆&#xff1f;WeChatMsg让聊天记录成为永恒财富&#xff01; 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/Gi…...

【人生底稿 28】新疆出差终章:几番波折终汇报,尽兴踏归津门路

三日游玩尽数落幕&#xff0c;忙碌工作正式回归。轻松的闲暇时光悄然收尾&#xff0c;紧绷的工作状态再次上线。整趟新疆之行&#xff0c;在起伏辗转中迎来最终收尾。一、深夜复盘材料&#xff0c;彻夜待汇报游玩结束回到酒店&#xff0c;我没有松懈休息&#xff0c;静下心重新…...

告别Demo!用EMQX和Java模拟真实物联网设备上报数据流(Windows本地开发环境)

告别Demo&#xff01;用EMQX和Java构建真实物联网数据流模拟方案 在物联网开发中&#xff0c;最令人头疼的莫过于缺乏真实设备进行测试。想象一下&#xff0c;当你精心设计的平台等待设备接入时&#xff0c;硬件团队却告诉你"下周才能交付原型机"。这种等待不仅拖延进…...

探索下一代命令行界面:OpenCLI 架构设计与插件化实践

1. 项目概述&#xff1a;一个面向未来的命令行界面原型最近在开源社区里&#xff0c;我注意到一个名为sys-fairy-eve/nightly-mvp-2026-03-19-opencli的项目。这个标题信息量不小&#xff0c;它不像一个成熟的产品&#xff0c;更像是一个开发过程中的里程碑快照。sys-fairy-eve…...

IE11富文本兼容——政务系统前端的深渊

IE11富文本兼容——政务系统前端的深渊 背景&#xff1a;为什么还有 IE11 系统要求支持 IE11。 为什么不是 Chrome&#xff1f; 办公电脑全是 Windows 7 IE11单位统一采购&#xff0c;不能随便装浏览器部分内部网站只支持 IE&#xff08;ActiveX&#xff09; 现状&#x…...

智谱AI GLM-5V-Turbo:视觉生成代码的技术革命与实战架构

摘要:2026年5月,智谱AI联合清华大学发布了GLM-5V-Turbo多模态编程基座模型,在Design2Code基准测试中以94.8分的成绩超越Claude Opus的77.3分,实现了从"文本生成代码"到"视觉生成代码"的范式跃迁。本文深入解析该模型的核心技术架构——CogViT视觉编码器…...

I2C地址冲突全解析:从原理到实战的嵌入式系统设计指南

1. I2C地址&#xff1a;嵌入式系统设计的“门牌号”与“交通规则”如果你玩过单片机或者树莓派&#xff0c;肯定对I2C不陌生。两根线&#xff0c;SDA和SCL&#xff0c;就能挂上一堆传感器、显示屏、扩展芯片&#xff0c;听起来简直是嵌入式开发的“万金油”。但真正上手后&…...

ComfyUI ControlNet Aux 终极指南:30+种预处理器让AI图像生成更精准

ComfyUI ControlNet Aux 终极指南&#xff1a;30种预处理器让AI图像生成更精准 【免费下载链接】comfyui_controlnet_aux ComfyUIs ControlNet Auxiliary Preprocessors 项目地址: https://gitcode.com/gh_mirrors/co/comfyui_controlnet_aux 想让您的AI图像生成具备真实…...

桌面CNC木质游戏手柄外壳制作:从Fusion 360设计到实战加工全流程

1. 项目概述&#xff1a;从数字模型到木质手柄的旅程如果你和我一样&#xff0c;既痴迷于复古游戏的怀旧情怀&#xff0c;又享受亲手将数字设计变为实体物件的成就感&#xff0c;那么这个项目绝对能点燃你的热情。我们这次要做的&#xff0c;不是一个简单的3D打印外壳&#xff…...

AI赋能安全分析:hexstrike-ai项目实战与提示词工程详解

1. 项目概述&#xff1a;一个为安全研究而生的AI助手如果你是一名安全研究员、逆向工程师或者渗透测试人员&#xff0c;那么你肯定对“工具链”这个词深有体会。我们的工作台就像是一个复杂的车间&#xff0c;摆满了IDA Pro、Ghidra、x64dbg、Burp Suite、Wireshark……这些工具…...