nginx热部署的原理:nginx -s reload

2023-11-04

我们执行这条命令的原因是希望 nginx 不停止服务始终在处理新的请求的同时把 nginx 的配置文件平滑的把旧的 nginx.conf 配置更新为新的 nginx.conf 配置。
这样一个功能对于 nginx 非常有必要,但是有时候我们会发现在执行 nginx -s reload 命令后,worker 子进程的数量会变多了,这是因为老的配置运行的 worker 进程长时间没有退出,当使用 stream 做四层反向代理的时候,可能这种场景会更多。

nginx reload流程
(1)向 master 进程发送 HUP 信号(reload命令)
(2)master 进程校验配置文件语法是否正确
(3)master 进程打开新的监听端口
(4)master 进程用新配置启动新的 worker 子进程
(5)master 进程向老 worker 子进程发送 QUIT 信号
(6)老 worker 进程关闭监听句柄,处理完当前连接后结束进程

reload nginx可以两种方式:

(1)./nginx -s reload
(2)kill -HUP masterpid 即 kill -HUP `cat /opt/ngx/logs/nginx.pid`

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx热部署的原理:nginx -s reload 的相关文章

随机推荐

  • EduCoder_web实训作业--JavaScript学习手册九:字符串的常用方法

    第一关 请在此处编写代码 Begin var c a indexOf b var sum 0 while c gt 0 sum c c a indexOf b c b length return sum End 第二关 请在此处编写代码 B
  • jquery动态给下拉框select添加option

    jquery动态给下拉框select添加option 注意 有的框架如layui 需要额外添加form render 否则会失效
  • 华为ENSP的Stelnet、直连、串口连接、telnet连接登录

    华为ENSP设备登录的几种方式 一 直接打开终端窗口 启动设备后 直接双击设备即可 如下图所示 二 用ENSP中的PC连接线CTL到设备的console登录 步骤1 在左侧的连线中找到CTL线单击 如果没有CTL线说明ENSP的版本太低 如
  • 如何打印2019年每个月的第一个星期天的日期

    这是一个关于日期处理的题目 在这里我主要用了Calendar类的相关属性与方法 首先 我们来分析一下 我们可以从2019年1月1日 用while循环依次遍历 到2019年12月7日结束 每次加一天 利用if判断 满足在第一周且是周日的条件
  • 电脑重装系统后无法连接网络怎么处理

    最近小编的台式电脑重装系统后无法连接网络 发现很多朋友也有同样的情况 那么遇到这种情况我们要如何处理呢 下面小编就来为大家讲解一下台式电脑重装系统后无法连接网络处理方法 方法 步骤 方法一 检查本地连接问题 1 鼠标右键点击系统桌面上的 网
  • DocArray 0.20.0 发布!新增 Milvus 后端支持,更好地嵌套数据搜索,新增 RGB-D 格式的 3D 模型表示

    DocArray 是一个用于处理 传输和存储多模态数据的 Python 工具包 DocArray 提供便捷的多模态数据处理功能 具备基于 Protobuf 提供高性能的网络传输性能 同时也为多种向量存储方案提供统一的 API 接口 GitH
  • CTFShow-Web入门

    目录 爆破 web21 web22 web23 web24 web25 web26 web27 web28 爆破 web21 解题思路 考察burp的intruder模块 访问发现是前端验证 随便输入账号密码抓包发现是Basic认证 Bas
  • 【splishsplash】splishsplash入门使用

    本文的目地为总结splishsplash的入门使用方法 splishsplash是一个C 开源流体引擎 主要用于产生流体动画 它的核心算法是SPH法 资源汇总 github https github com InteractiveCompu
  • 数据挖掘之关联规则挖掘的一些定义

    一 算法定义 关联规则挖掘用于发现隐藏在大型数据集中的令人感兴趣的联系 所发现的模式通常用关联规则或频繁项集的形式表示 关联规则反映了一个事物与其他事物之间的相互依存性和关联性 如果两个或多个事物之间存在一定的关联关系 那么 其中一个事物发
  • c++ STL map简介

    首先头文件 include
  • 深入JS内存模型

    前言 什么是JS的内存模型 看过了很多资料 都是千篇一律的栈内存 堆内存 基本数据类型存储在栈内存 引用数据类型存储在堆内存等等之类的 看过这些之后 对于我们去理解整个JS内存之中复杂的关系 本文会从JavaScript语法之中的各个语言特
  • DHCP攻击与防范实践

    1 DHCP工作原理 DHCP客户端从服务端申请到IP地址等网络配置信息需要经过四个步骤 每个步骤需要发送相应类型的数据报文 如下图所示 首先由客户端以广播方式发出 DHCP Discover 报文来寻找网络中的DHCP服务端 当服务端接收
  • go localhost 的简单使用

    首先在文件夹增加文件web go package main import net http func main http Handle http FileServer http Dir http ListenAndServe 8080 ni
  • DirectShow资源共享

    前段时间为了公司内部培训 写了两个DirectShow的PPT 共享如下 https skydrive live com cid 0E1C9F572B6A2D19 id E1C9F572B6A2D19 211790 另外 我的几本书的源代码
  • VS2022 LNK1104无法打开文件“libboost_filesystem-vc143-mt-gd-x64-1_78.lib”

    VS发布了最新版2022 刚好最近我要用到VS我就下载了最新版 配置了一个PCL环境 尝试运行一段代码 结果报错 找了半天问题才找到 记录一下 错误 LNK1104 无法打开文件 libboost filesystem vc143 mt g
  • qt5开发及实例_Qt 5.14版本正式发布(带下载链接)

    摘录并翻译自Qt官网内容 快来看看新版本更新了些什么东西吧 我们今天 2019 12 12 发布了Qt 5 14 该版本以及明年的Qt 5 15 LTS开始为通向Qt 6铺平道路 尽管我们正在努力通过标记不推荐使用的功能使将来尽可能平稳地移
  • git bash 不支持中文处理

    1 打开git bash后 对窗口右键 gt Options gt Text gt Locale改为zh CN Character set改为UTF 8 关闭git bash 再打开 可以显示中文了 2 如果前一种方法不行 则在git ba
  • 解决org.springframework.amqp.AmqpException: No method found for class [B

    spring boot在集成rabbitmq时 如果使用 amqp client 发送消息 RabbitListener会一直循环报错 org springframework amqp rabbit listener exception L
  • 为何学linux及用处

    目前企业使用的操作系统无非就是国产类的 windows和linux类 我们要提升自己的技能 需要学习这两款 我记得在大学时期 学习过windows以及linux 但当时觉得又不常用 就学的模棱两可 毕业之后 你会发现 其实这两种操作系统是很
  • nginx热部署的原理:nginx -s reload

    我们执行这条命令的原因是希望 nginx 不停止服务始终在处理新的请求的同时把 nginx 的配置文件平滑的把旧的 nginx conf 配置更新为新的 nginx conf 配置 这样一个功能对于 nginx 非常有必要 但是有时候我们会