微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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/sbinmv 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/sbinmv 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

总结

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐