Linux运维企业篇——nginx的平滑升级或回退(热部署)

一.环境配置

母盘建立
7.3版本虚拟机
在这里插入图片描述
时区选择上海
在这里插入图片描述
去掉Enable kdump选项
在这里插入图片描述
选择手动(I will configure partitioning)
在这里插入图片描述
选择自动分配到下图
在这里插入图片描述
选择同意
在这里插入图片描述
输入超级用户密码,强度不够时要确认两次
在这里插入图片描述
默认最小安装,完成等待安装,大概331个包
在这里插入图片描述
修改母盘文件
1.修改网络

vi /etc/sysconfig/network-script/ifcfg-ens3 # 注意,这里的ens3是需要查看的,我们要将其名称改为eth0,如果直接是eth0就不用修改名字

在这里插入图片描述
2.修改grub.cfg文件,是的网络从eth0开始

vi /boot/grub2/grub.cfg # 在99行添加net.ifnames=0

在这里插入图片描述
3.修改yum源

vi /etc/yum.repos.d/dvd.repo # 要在真机上搭建好yum源

在这里插入图片描述
4.修改selinux为disabled

vi /etc/sysconfig/selinux

在这里插入图片描述
5.修改设备名称
vi /etc/hostname
在这里插入图片描述
6.修改地址解析
先查看真机的名称
在这里插入图片描述
修改虚拟机母盘地址解析

vi /etc/hosts

在这里插入图片描述
7.火墙关闭
在这里插入图片描述
8.关闭NetworkManager
在这里插入图片描述
在这里插入图片描述

9.重启后下载vim,lftp,net-tools

yum install -y lftp vim net-tools openssh-clients

10.关闭母盘

二.热部署实验(回退)

在真机配置iptables策略
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
获取nginx-1.16.0.tar.gz 压缩包并解压
在这里插入图片描述
进入到nginx-1.16.0目录

在这里插入图片描述
为使编辑文件更容易,我们为文件添加高光
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
编辑配置文件
在这里插入图片描述
在这里插入图片描述
注销debug日志
在这里插入图片描述
在这里插入图片描述

安装 pcre-devel zlib-devel gcc

在这里插入图片描述
编译nginx
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
查看文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
检查nginx
在这里插入图片描述
查看nginx信息
在这里插入图片描述
开启nginx
在这里插入图片描述
查看进程nginx是否开启
在这里插入图片描述
在这里插入图片描述
建立nginx用户
在这里插入图片描述
关闭nginx
在这里插入图片描述
修改配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
重新开启nginx
在这里插入图片描述
在真机中访问172.25.6.1可以看到nginx欢迎界面
在这里插入图片描述
旧的mask和work开启时,被新的mask和work替换。新版本的不能make install
安装nginx-1.15.8
在这里插入图片描述
查看nginx版本信息还是之前1.16.0,
在这里插入图片描述
这里只能make
在这里插入图片描述
在这里插入图片描述

备份原本的执行脚本很重要,当热部署不成功时就会用上
在这里插入图片描述
在这里插入图片描述

因为此时16版本还在运行,所以要强制复制15版本到/usr/。
在这里插入图片描述
在这里插入图片描述
查看进程,此时只有原版本的一个master进程和两个work进程,通过kill信号拉起新的nginx服务。再查看nginx进程此时有两个master进程和两个个work进程。之后的访问都会连接到新nginx服务上,但旧版本nginx的work进程此时仍在处理已接收的访问,等连接断开后,其自动关闭。但为限制持续连接,旧版nginx此时的连接时有时间限制的,到时间后自动关闭。
在这里插入图片描述

kill -USR2 3709 # 拉起新的nginx服务

在这里插入图片描述

kill -WINCH 3709 #停止旧nginx,但master进程依然在,为防止新Nginx故障,可及时补救.

在这里插入图片描述
查看nginx版本信息
在这里插入图片描述
如果新服务出现故障,旧服务上线:
将备份好的原版nginx脚本覆盖掉新nginx的执行脚本。

在这里插入图片描述
在这里插入图片描述

kill -HUP 3709 # kill -HUP(重载)与reload相同

在这里插入图片描述
停止新nginx服务。查看进程,此时运行的work进程都是旧版nginx的进程。

kill -USR2 6269 

在这里插入图片描述

kill -WINCH 6269

在这里插入图片描述
查看nginx版本信息,已经恢复至16版本
在这里插入图片描述最后关闭15版本的进程

在这里插入图片描述
真机浏览器输入172.25.6.1出现欢迎界面就算成功
在这里插入图片描述
升级和回退是一样的原理,千万记住要备份旧的nginx脚本,否则新版本出现问题就会无法挽救,在进行热部署是新版本切忌不能使make install

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值