运维企业实战——nginx的平滑升级和回退

在实际生产环境中,nginx必须一直处于开启状态,所以版本升级也一定要在线更新,也就是热部署。
这个实验就是实现在线进行nginx-1.14.2到nginx-1.15.7的平滑升级,以及出现问题时及时回退。
基本思想:

1、 在不停掉老进程的情况下,启动新进程。
2、 老进程负责处理仍然没有处理完的请求,但不再接受处理请求。
3、 新进程接受新请求。
4、 老进程处理完所有请求,关闭所有连接后,停止

一、实验环境(rhel7.3版本)

selinux和firewalld状态都是disabled
172.25.60.1是实验主机

二、从nginx-1.14.2到nginx-1.15.7的平滑升级

1、下载nginx-1.14.2和nginx-1.15.7的安装包

[root@server1 ~]# ls
  nginx-1.14.2.tar.gz   nginx-1.15.7.tar.gz

2、安装 nginx-1.14.2
(1)、解压安装包

[root@server1 ~]# tar zxf nginx-1.14.2.tar.gz 
[root@server1 ~]# ls
nginx-1.14.2  nginx-1.14.2.tar.gz

(2)、关闭debug日志

[root@server1 ~]# cd nginx-1.14.2
[root@server1 nginx-1.14.2]# vim auto/cc/gcc
171 # debug
172 #CFLAGS="$CFLAGS -g"

(3)、下载编译nginx需要的依赖包

[root@server1 nginx-1.14.2]# yum install pcre-devel zlib-devel gcc -y

(4)、测试存在特性

[root@server1 nginx-1.14.2]# ./configure --prefix=/usr/local/nginx --with-file-aio

在这里插入图片描述
(5)、编译安装

[root@server1 nginx-1.14.2]# make && make install

在这里插入图片描述
(6)、给配置文件添加高亮(也可以不做)

[root@server1 ~]# mkdir .vim
[root@server1 ~]# cp -r nginx-1.14.2/contrib/vim/* .vim/

3、修改配置文件,启动nginx-1.14.2

[root@server1 nginx-1.14.2]# cd /usr/local/nginx/sbin/
[root@server1 sbin]# ls
nginx  nginx.old
[root@server1 sbin]# ./nginx -t	#查看nginx配置文件是否正确
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/co
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值