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

一.环境配置

母盘建立
7.3版本虚拟机
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第1张图片
时区选择上海
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第2张图片
去掉Enable kdump选项
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第3张图片
选择手动(I will configure partitioning)
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第4张图片
选择自动分配到下图
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第5张图片
选择同意
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第6张图片
输入超级用户密码,强度不够时要确认两次
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第7张图片
默认最小安装,完成等待安装,大概331个包
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第8张图片
修改母盘文件
1.修改网络

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

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第9张图片
2.修改grub.cfg文件,是的网络从eth0开始

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

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第10张图片
3.修改yum源

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

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第11张图片
4.修改selinux为disabled

vi /etc/sysconfig/selinux

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第12张图片
5.修改设备名称
vi /etc/hostname
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第13张图片
6.修改地址解析
先查看真机的名称
在这里插入图片描述
修改虚拟机母盘地址解析

vi /etc/hosts

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第14张图片
7.火墙关闭
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第15张图片
8.关闭NetworkManager
在这里插入图片描述
在这里插入图片描述

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

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

10.关闭母盘

二.热部署实验(回退)

在真机配置iptables策略
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第16张图片

在这里插入图片描述
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第17张图片
获取nginx-1.16.0.tar.gz 压缩包并解压
在这里插入图片描述
进入到nginx-1.16.0目录

在这里插入图片描述
为使编辑文件更容易,我们为文件添加高光
在这里插入图片描述
在这里插入图片描述Linux运维企业篇——nginx的平滑升级或回退(热部署)_第18张图片
编辑配置文件
在这里插入图片描述
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第19张图片
注销debug日志
在这里插入图片描述
在这里插入图片描述

安装 pcre-devel zlib-devel gcc

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第20张图片
编译nginx
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第21张图片
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第22张图片
在这里插入图片描述
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第23张图片
在这里插入图片描述
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第24张图片
查看文件
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第25张图片
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第26张图片
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第27张图片
检查nginx
在这里插入图片描述
查看nginx信息
在这里插入图片描述
开启nginx
在这里插入图片描述
查看进程nginx是否开启
在这里插入图片描述
在这里插入图片描述
建立nginx用户
在这里插入图片描述
关闭nginx
在这里插入图片描述
修改配置文件
在这里插入图片描述
在这里插入图片描述
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第28张图片

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
重新开启nginx
在这里插入图片描述
在真机中访问172.25.6.1可以看到nginx欢迎界面
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第29张图片
旧的mask和work开启时,被新的mask和work替换。新版本的不能make install
安装nginx-1.15.8
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第30张图片
查看nginx版本信息还是之前1.16.0,
在这里插入图片描述
这里只能make
在这里插入图片描述
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第31张图片

备份原本的执行脚本很重要,当热部署不成功时就会用上
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第32张图片
在这里插入图片描述

因为此时16版本还在运行,所以要强制复制15版本到/usr/。
在这里插入图片描述
在这里插入图片描述
查看进程,此时只有原版本的一个master进程和两个work进程,通过kill信号拉起新的nginx服务。再查看nginx进程此时有两个master进程和两个个work进程。之后的访问都会连接到新nginx服务上,但旧版本nginx的work进程此时仍在处理已接收的访问,等连接断开后,其自动关闭。但为限制持续连接,旧版nginx此时的连接时有时间限制的,到时间后自动关闭。
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第33张图片

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

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第34张图片

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

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第35张图片
查看nginx版本信息
在这里插入图片描述
如果新服务出现故障,旧服务上线:
将备份好的原版nginx脚本覆盖掉新nginx的执行脚本。

在这里插入图片描述
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第36张图片

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

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第37张图片
停止新nginx服务。查看进程,此时运行的work进程都是旧版nginx的进程。

kill -USR2 6269 

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第38张图片

kill -WINCH 6269

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第39张图片
查看nginx版本信息,已经恢复至16版本
在这里插入图片描述最后关闭15版本的进程

Linux运维企业篇——nginx的平滑升级或回退(热部署)_第40张图片
真机浏览器输入172.25.6.1出现欢迎界面就算成功
Linux运维企业篇——nginx的平滑升级或回退(热部署)_第41张图片
升级和回退是一样的原理,千万记住要备份旧的nginx脚本,否则新版本出现问题就会无法挽救,在进行热部署是新版本切忌不能使make install

你可能感兴趣的:(Linux运维企业篇——nginx的平滑升级或回退(热部署))