母盘建立
7.3版本虚拟机
时区选择上海
去掉Enable kdump选项
选择手动(I will configure partitioning)
选择自动分配到下图
选择同意
输入超级用户密码,强度不够时要确认两次
默认最小安装,完成等待安装,大概331个包
修改母盘文件
1.修改网络
vi /etc/sysconfig/network-script/ifcfg-ens3 # 注意,这里的ens3是需要查看的,我们要将其名称改为eth0,如果直接是eth0就不用修改名字
vi /boot/grub2/grub.cfg # 在99行添加net.ifnames=0
vi /etc/yum.repos.d/dvd.repo # 要在真机上搭建好yum源
vi /etc/sysconfig/selinux
5.修改设备名称
vi /etc/hostname
6.修改地址解析
先查看真机的名称
修改虚拟机母盘地址解析
vi /etc/hosts
9.重启后下载vim,lftp,net-tools
yum install -y lftp vim net-tools openssh-clients
10.关闭母盘
获取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