当前位置: 首页 > news >正文

Nginx热部署

快捷查看指令 ctrl+f 进行搜索会直接定位到需要的知识点和命令讲解(如有不正确的地方欢迎各位小伙伴在评论区提意见,小编会及时修改)

Nginx热部署

首先来讲一下为什么要进行热部署
nginx 支持热加载 热部署 ,在不打断用户请求的情况下就可以更新版本

Nginx热部署的原因主要有以下几点:

  1. 当旧的nginx功能模块不足以支撑项目使用时,需要加载新的nginx到项目中
  2. 避免 downtime:传统的软件升级需要停止服务,进行升级后再重新启动服务,这个过程会造成服务停机,如果在高流量情况下停机,会影响用户体验和业务收益。
  3. 提升服务可用性和稳定性:Nginx热部署可以在不中断服务的情况下进行升级,可以有效减少服务宕机时间,提高业务的可用性和稳定性。
  4. 降低升级风险:热部署可以快速回滚到旧版本,降低升级风险。在升级过程中,如果出现了问题,可以很快地切回到旧版本,避免影响业务。
  5. 提高运维效率:热部署可以自动完成升级操作,减少人工干预,提高运维效率。同时,热部署也可以实现自动化部署和回滚。

Nginx热部署操作步骤

本次测试将2.3.1版本的Nginx更新为2.4.1版本

  1. 在旧nginx开启状态下,修改旧nginx的sbin下的命令名
[root@localhost sbin]# mv nginx nginx.old
  1. 重新编译不安装一个新的nginx,位置与旧的一致
    (安装nginx详情可查看Centos7安装配置nginx)
[root@localhost tengine-2.4.1]# ./configure --prefix=/tmp/tngx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --with-http_stub_status_module --with-threads --with-file-aio[root@localhost tengine-2.4.1]# make 
  1. 将tengine-2.4.1包下的objs/nginx复制到旧nginx包下
cp tengine-2.4.1/objs/nginx /tmp/tngx/sbin/

在这里插入图片描述

  1. 发送USR2信号给nginx的master
查看master的进程
[root@localhost sbin]# ps -ef | grep 'nginx'

在这里插入图片描述

发送USR2信号
[root@localhost sbin]# kill -USR2 8930
再次查看
[root@localhost sbin]# ps -ef | grep ngi
此时热部署已经完成

在这里插入图片描述

  1. 给旧的master发送WINCH信号,使其原本工作进程退出
[root@localhost sbin]# kill -WINCH 8930

在这里插入图片描述

  1. 关闭旧的master进程
[root@localhost sbin]# kill -9 8930

在这里插入图片描述

补充一下:可能有的小伙伴看到这里会疑惑,我现在相当于有两个命令一个是nginx(新版本)和一个nginx.old(老版本),而此时正在运行的nginx进程就可以使用nginx(新版本) 进行关闭,然后再进行使用,间接地完成了版本的更新(老版本的nginx.old可以删除也可以保留)

http://www.lryc.cn/news/248065.html

相关文章:

  • 京东数据运营-京东数据平台-京东店铺数据分析-2023年10月京东烘干机品牌销售榜
  • java中的方法引用和Stream流
  • 《第一行代码:Android》第三版-3.4.4体验Activity的生命周期
  • 用java编写一个网络聊天室
  • Opencv颜色追踪
  • 计算机网络——网络可靠性及网络出口配置
  • 在虚拟机搭建nignx,和使用本地访问nginx的情况
  • Java数据结构之《直接插入排序》问题
  • 向量场中的几个恒等式
  • 异行星低代码平台--第三方插件对接:钉钉平台对接(一)
  • MyBatis使用教程详解<下>
  • C++基础 -17-继承中 基类与派生构造和析构调用顺序
  • uniapp实现表单弹窗
  • Ajax 是什么? 如何创建一个 Ajax?
  • 【LeetCode】101. 对称二叉树
  • O-Star|再相识
  • 最新PHP熊猫头图片表情斗图生成源码
  • 子虔科技出席2023WAIC“智能制造融合创新论坛”
  • 递归算法学习——二叉树的伪回文路径
  • Android端极致画质体验之HDR播放
  • 【Java SE】带你在String类世界中遨游!!!
  • Android: ListView + ArrayAdapter 简单应用
  • 前端:实现二级菜单(点击实现二级菜单展开)
  • Spark-java版
  • RabbitMQ消息模型之Work Queues
  • vue3+ts 实现时间间隔选择器
  • PTA 魔法优惠券
  • P8A110-A120经典赛题
  • 文件基础知识
  • 二叉树OJ题之二