【Linux运维-集群技术进阶】Nginx强大的平滑升级

每一款软件都存在更新换代,而我们更新软件的方式一般就是将低版本的卸载掉,然后安装新版本。但对于服务器软件来说,如果强行将服务器停止升级,这样原来在服务器上运行着的进程就会受到影响。如何解决这种问题呢?

可以通过平滑升级的方式解决这个问题,在平滑升级时

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

Nginx就支持平滑升级的方式,可以不间断提供服务。

我第一次安装Nginx的时候故意安装了一个低版本的,这次来测试一下平滑升级。

已安装版本:   nginx-1.8.0

新版本Nginx: nginx-1.9.9

下载最新Nginx上传到服务器

① 解压

[root@localhost ~]# cd /usr/local/software/

[root@localhost software]# tar -zxvf nginx-1.9.9.tar.gz

② 编译

[root@localhost local]# cd /usr/local/software/nginx-1.9.9
[root@localhost nginx-1.9.9]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.9.9]# make

注意千万不要执行 make install ,因为会将原来的Nginx文件全部替换,达不到平滑升级的效果。

③ 备份旧版本Nginx的可执行文件

[root@localhost objs]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ls
nginx
[root@localhost sbin]# cp nginx nginx.old
[root@localhost sbin]# ls
nginx  nginx.old

④ 替换Nginx可执行文件

将新版本解压后文件夹objs里的nginx可执行文件,替换掉老版本sbin文件夹下的nginx可执行文件。

[root@localhost nginx-1.9.9]# cp -rfp /usr/local/software/nginx-1.9.9/objs/nginx  /usr/local/nginx/sbin/
cp:是否覆盖"/usr/local/nginx/sbin/nginx"? y

⑤ 查看是否升级成功

[root@localhost nginx-1.9.9]# cd /usr/local/nginx/sbin/
[root@localhost sbin]# ./nginx -v
nginx version: nginx/1.9.9


可以看到Nginx已经从1.8.0成功的升级到了1.9.9,平滑升级成功。越来越觉得Nginx这款软件的确强大。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值