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
相关推荐
小π军23 分钟前
操作系统面试题
java·linux·服务器
Android系统攻城狮2 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
大猫会长5 小时前
调用codebuddy集成的supabase授权白屏解决方法
linux·运维·服务器
夜之眷属6 小时前
服务器被挖矿病毒入侵的排查与清理实录
运维·服务器
传人6 小时前
为什么 Xshell 中可以通过java -version查询到java 版本号码,Electerm 却查不到?
java·linux·服务器
陌上花开缓缓归以6 小时前
mebdlts3.4.1安全启动全流程
服务器·算法
鬼手点金6 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
阿明67 小时前
进程替换【Linux】
linux·运维·服务器
啦啦啦啦啦zzzz8 小时前
一致性哈希
服务器·算法·哈希算法·c++20·分布式存储
倔强的石头1068 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器