nginx平滑升级
nginx平滑升级
nginx平滑升级
平滑升级:热升级,在不中断服务的情况下升级软件
平滑升级流程:
- 获取老版本的编译信息
- 获取新版本安装包或者功能包
- 配置新版本或功能,配置时加上老版本的编译信息和新版本或功能
- 编译,编译后不执行安装操作
- 备份老版本程序
- 停止老版本程序或进程
- 将新版本复制到老版本所在位置替换老版本
- 启动新版本
升级示例
1.获取老版本的编译信息
[root@nginx ~]# nginx -V
nginx version: nginx/1.20.2
built by gcc 8.5.0 20210514 (Red Hat 8.5.0-15) (GCC)
built with OpenSSL 1.1.1k FIPS 25 Mar 2021
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --user=nginx --group=nginx --with-debug --with-http_ssl_module --with-http_realip_module --with-http_image_filter_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_stub_status_module
2.获取新版本安装包或者功能包
[root@nginx ~]# dnf -y install git #下载git功能包
[root@nginx ~]# cd /usr/local/src/
[root@nginx src]# wget https://nginx.org/download/nginx-1.22.0.tar.gz
[root@nginx src]# git clone https://gitee.com/wujunze/nginx_module_echo.git
[root@nginx src]# ls
nginx-1.22.0.tar.gz nginx_module_echo
[root@nginx src]# tar -xf nginx-1.22.0.tar.gz
3.配置新版本或功能,配置时加上老版本的编译信息和新版本或功能
[root@nginx src]# cd nginx-1.22.0/
[root@nginx nginx-1.22.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--add-module=../nginx_module_echo
4.编译,编译后不执行安装操作
[root@nginx nginx-1.22.0]# make
#查看版本
[root@nginx nginx-1.22.0]# objs/nginx -v
nginx version: nginx/1.22.0
5.备份老版本程序
[root@nginx nginx-1.22.0]# \cp /usr/local/nginx/sbin/nginx{,-bak}
[root@nginx nginx-1.22.0]# \cp /usr/local/nginx/sbin/nginx{,-bak};pkill nginx;\cp objs/nginx /usr/local/nginx/sbin/;systemctl start nginx
6.停止老版本程序或进程
[root@nginx nginx-1.22.0]# pkill nginx
7.将新版本复制到老版本所在位置替换老版本
[root@nginx nginx-1.22.0]# \cp objs/nginx /usr/local/nginx/sbin/
8.启动新版本
[root@nginx nginx-1.22.0]# systemctl start nginx
[root@nginx nginx-1.22.0]# nginx -v
nginx version: nginx/1.22.0
[root@nginx nginx-1.22.0]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.0.0.0:80 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义