nginx进行平滑升级


前言

在工作当中时常会遇到一些软件升级的需求,这次主要是记录使用nginx进行平滑升级(在不关闭nginx服务情况下)

需求将已安装的nginx-1.6.3升级为nginx-1.20.2

一、准备工作

1、下载需要更新的nginx版本,解压

# 我是解压在本目录 如需指定目录解压添加 -C 指定目录
tar -zxvf nginx-1.20.2.tar.gz

2、编译并make(不进行make install)

# 进入解压目录
cd ./nginx-1.20.2
# 进行配置
./configure
# 进行编译
make
# 编译完成后可以看到一个objs文件夹,进入到objs文件夹,里面有个nginx二进制文件
cd ./objs

二、升级方法一

1.备份安装目录下的nginx

cd /usr/local/nginx/sbin
mv nginx nginx.bak

2、复制objs目录下的nginx到当前sbin目录下

cp /opt/software/nginx/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/

3、发送信号user2给nginx老版本对应的进程

kill -user2 'more /usr/local/logs/nginx.pid'

4、发送信号quit给nginx老版本的进程

kill -quit 'more /usr/local/nginx/logs/nginx.pid.oldbin'

5、查看是否升级成功

./nginx -v

三、升级方法二

1.备份安装目录下的nginx

cd /usr/local/nginx/sbin
mv nginx nginx.bak

2、复制objs目录下的nginx到当前sbin目录下

cp /opt/software/nginx/nginx-1.20.2/objs/nginx /usr/local/nginx/sbin/

3、进入到安装目录,执行make upgrade

make upgrade

结果:
在这里插入图片描述

4、查看是否升级成功

./nginx -v

四、平滑升级失败因为ssl

报错:nginx: [emerg] https protocol requires SSL support in /usr/local/nginx/conf/nginx.conf:86
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed

安装ssl_module然后执行前面的操作

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

总结

第二种方式更加简洁,其实原理和第一种方式一样

  • 11
    点赞
  • 73
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值