栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

nginx进行平滑升级

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

nginx进行平滑升级

文章目录
  • 前言
  • 一、准备工作
      • 1、下载需要更新的nginx版本,解压
      • 2、编译并make(不进行make install)
  • 二、升级方法一
      • 1.备份安装目录下的nginx
      • 2、复制objs目录下的nginx到当前sbin目录下
      • 3、发送信号usr2给nginx老版本对应的进程
      • 4、发送信号quit给nginx老版本的进程
      • 5、查看是否升级成功
  • 三、升级方法二
      • 1.备份安装目录下的nginx
      • 2、复制objs目录下的nginx到当前sbin目录下
      • 3、进入到安装目录,执行make upgrade
      • 4、查看是否升级成功
  • 四、平滑升级失败因为ssl
  • 总结


前言

在工作当中时常会遇到一些软件升级的需求,这次主要是记录使用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、发送信号usr2给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
总结

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893806.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号