Nginx讲解(二)Nginx的平滑升级(热部署)

一、概念讲解

  • 当前服务器中正在运行Nginx服务,现想将当前运行的Nginx服务的版本进行升级,(版本的跨度不要太大,容易造成服务的崩溃),且在服务不停止的前提下进行升级。
  • 简单说明:
  1. 在不停掉老进程的情况下,启动新进程
  2. 老进程负责处理仍然没有处理完的请求,但不再接受处理请求。
  3. 新进程接受新请求。
  4. 老进程处理完所有请求,关闭所有连接后,停止
  • Nginx中的进程分为两类,一类是master进程(主进程),一类是worker进程(工作进程)

  • 原理就是首先我们先学会替换master进程,同时我们替换的master是与老版本的worker兼容的,之后,就是保持还有连接的worker进程,待其老去退休,进行替换

  • 重点概念:

  • 概念:
    1.nginx是异步非阻塞的
    2.apache预派生会占用系统资源;且是多进程的,如果一个进程没有使用万完,则内存被占用,也不能被使用;进程间会进行来回的切换(存在进程间交换),也消耗资源,即使配置提升,系统性能也无法提升;
    3.nginx如果一个进程崩了,则可能都会崩;
    4.nginx官网是www.nginx.org
    5.auto是操作系统的特性,可以让nginx使用
    6.changes每个版本中的变化以及相关的内容
    7.changes.ru值俄罗斯语的每个版本中的变化以及相关的内容
    8.conf中是配置文件
    9.configure编译用的
    10.contrib提供nginx的语法检测(nginx自己带语法检测的,需要配置)
    11.html默认发布目录(只要发现500类的报错,就会定向到50x.html)
    12.src是nginx源码目录
    13.此处不需要更改版本号,因为此实验需要查看版本号
    14.objs是中间件的目录
    15.会编译所有的模块,使用make会调用Makefile
    16.默认编译添加的模块
    17.编译后会生成二进制可以执行文件(config)将其拷贝至config中
    18.默认worker进行是由nobody的worker启动,不方便管理
    19.有点小
    20.打开文件数多一点
    21.不切断原来进程的基础上,更新版本
    22.千万不要make install,否进二进制文件会替代sbin下的nginx
    23.更新之前先备份
    24.如果更新不成功,会立马回退
    25.如果不加-f,会显示先正二进制文件在忙,因为worker进程正在使用
    26.nginx发送信号告诉master进程让你的worker进程不要再接收请求了
    27.处理完之后将其关闭
    28.这个进程之所以还在的原因是因为是备份,如果升级的版本更新坏了,可以替换
    29.如果发现更新坏了,将其二进制文件替换(程序复制了),但是进程没有换,再次告诉新的进程不接收请求了,先将老的拉起来(不然无法接收请求),且自行关闭

二、Nginx的平滑升级实验

实验环境:

主机 ip 服务
物理机 172.25.254.66/172.25.66.250<
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值