nginx无网络升级

1、概述

在没有网络的环境中,无法使用包管理器一键升级。最可靠的方式是:在外网下载好新版本的Nginx源码包及其编译依赖,上传到内网服务器,通过源码编译的方式进行升级。

2、升级

2.1 下载源码

复制代码
wget https://nginx.org/download/nginx-1.30.4.tar.gz

2.2 查看现有编译参数

复制configure arguments后面全部参数

复制代码
[root@ ~]# nginx -V
nginx version: nginx/1.21.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_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 --with-stream --with-stream_ssl_preread_module

2.3 解压源码

复制代码
[root@ nginx]# tar -zxvf nginx-1.30.4.tar.gz
[root@ nginx]# cd nginx-1.30.4

2.4 执行 configure(粘贴你原有全部编译参数)

复制代码
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 --with-stream --with-stream_ssl_preread_module

2.5 编译,不要 make install

复制代码
make

2.6 平滑替换二进制文件

复制代码
#备份旧二进制
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
#复制新生成程序
cp objs/nginx /usr/local/nginx/sbin/
#热升级,不中断业务
kill -USR2 $(cat /usr/local/nginx/logs/nginx.pid)

2.7 校验版本

复制代码
nginx -v
nginx -t
相关推荐
HideF20 小时前
Linux
linux·服务器·网络
Ruiery1 天前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠1 天前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
迪菲赫尔曼1 天前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by209991 天前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
迪菲赫尔曼1 天前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测
cq林志炫1 天前
两个Linux服务器之间同步文件
linux·运维·服务器
yyuuuzz1 天前
云服务器安全组规则优先级的机制记录
运维·服务器·网络·安全·阿里云·aws
智购科技自动售货机厂家1 天前
让AI经营自动售货机:从Project Vend看工具权限与业务规则~YH
大数据·服务器·单片机·嵌入式硬件·深度学习
jnrjian1 天前
delete file shell 让 AI 写脚本
服务器·开发语言