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
相关推荐
学linux的QQ蛋41 分钟前
Linux 文件 IO vs 标准 IO:缓冲区、目录操作、常用函数汇总
linux·运维·服务器
比兔代理1 小时前
静态住宅IP在品牌保护中的角色:稳定出口与长期监测
服务器·网络·ip
小尘要自信2 小时前
软件远控失效以后怎么办?玩客云 + One-KVM 实现 BIOS 级远程画面与键鼠控制
服务器·网络·数据库
小HANN2 小时前
高可用架构实战:Keepalived+LVS(DR)+MariaDB主主集群搭建指南
linux·运维·服务器·经验分享
Sylvia-girl3 小时前
【一】:Linux基础指令
linux·运维·服务器
0+1113 小时前
Linux --基础IO
linux·运维·服务器
CZIDC3 小时前
华为服务器TS200-2280 V2 iBMC导入SSL证书后问题案例分析
服务器·https·ssl
牢姐与蒯4 小时前
Linux进程(四).进程优先级以及进程切换,进程调度
linux·运维·服务器·ubuntu
大爱编程♡4 小时前
Linux C 语言文件 IO 与构建工具实战指南
linux·服务器