首页 > 系统相关 >Nginx 优雅重启机制

Nginx 优雅重启机制

时间:2024-12-20 15:54:21浏览次数:9  
标签:请求 工作 重启 配置 优雅 Nginx 进程

nginx 的进程模型

主进程(Master Process):负责管理 Nginx 的工作进程,处理配置文件的加载和维护。
工作进程(Worker Processes):实际处理客户端请求,每个工作进程是独立的。

reload 过程

接收 SIGHUP 信号

主进程接收到 SIGHUP(挂起)信号,表示需要重新加载配置。

解析新配置

1. 主进程开始读取和解析新的配置文件。
2. 如果配置无误,主进程继续执行下一步;如果有错误,主进程不会影响现有的工作进程,服务依然运行。

启动新工作进程

1. 主进程根据新的配置启动新的工作进程。
2. 新工作进程能够立即开始接收新的请求。

旧工作进程的处理

1. 旧的工作进程依旧在后台运行,处理其当前正在执行的请求。
2. 一旦旧工作进程完成了所有待处理请求,即可优雅地终止自己。

无缝切换

1. 在整个过程中,新工作进程和旧工作进程同时存在,确保请求不断。
2. 当所有旧工作进程完成其工作并终止后,新的配置已经完全生效。

优雅重启优势

1. 高可用性:服务不会因为配置更新而中断,对于需要持续服务的应用尤其重要。
2. 平滑过渡:用户不会察觉到服务的中断,保证良好的用户体验。

标签:请求,工作,重启,配置,优雅,Nginx,进程
From: https://www.cnblogs.com/wangguishe/p/18619444

相关文章

  • Ubuntu系统部署程序:修改IP、部署docker、nginx、Redis、onlyoffice、java
    记录一次Ubuntu系统的程序部署修改IP#修改IPvim/etc/network/interfacesautoens33ifaceens33inetstaticaddress192.?.?.?netmask255.255.255.0gateway192.?.?.?#修改DNSvim/etc/systemd/resolved.conf或vi/etc/resolv.confnameserver192.?.?......
  • nginx安装教程笔记(包含访问控制)
    目录一、nginx的安装二、访问控制基于授权访问控制基于客户端的访问控制一、nginx的安装1.安装组件yum-yinstallpcre-develzlib-develgccgcc-c++make2.创建用户useradd-M-s/sbin/nologinnginx3.解压源码包并编译安装tarzxvfnginx-1.12.0.tar.g......
  • shell脚本-实现程序意外退出后自重启
    为了确保在服务器中运行的jar包项目能够自动重启,防止因为程序崩溃、机器重启、人为误操作或其他原因导致进程挂掉,我们可以编写一个脚本,定期检查该jar包是否正在运行。如果进程未启动,脚本会自动重新启动该jar包。shell脚本#!/bin/bashJAVA_HOME=/usr/local/jdk1.8.0_1......
  • python优雅而神奇的parse库
    前言在Python中,format方法和f-strings是两种常用的字符串插值方法。name="Haige"age="18"print(f"{name}is{age}yearsold.")#Haigeis18yearsold.而如果是要从字符串中提取期望的值呢?相信很多人的第一或第二想法是使用正则表达式。熟悉正则表达式的人都明白......
  • Nginx基础使用
    NginxNginx是一个WEB服务【1】、安装nginx1.官网安装2.使用默认的仓库安装,版本较低3.编译方式安装,需要其他功能模块的时候自定义安装#基于官网仓库的安装方式,版本较新,配置易读#准备软件仓库[root@web01~]#cat/etc/yum.repos.d/nginx.repo[nginx-stable]name=......
  • 深入解析:Nginx通过一个域名配置多个HTTPS项目的实现与优化
    目录引言Nginx基础知识什么是NginxNginx的核心功能多项目部署的需求分析实现一个域名配置多个项目准备工作配置HTTPS的基本步骤配置多个项目的两种方式Nginx配置文件详解基于路径区分项目基于子域名区分项目HTTPS配置中的注意事项证书生成与管理多项目使用单一证书......
  • 【01】优雅草央千澈详解关于APP签名以及分发-上架完整流程-如何将安卓APP-apk包和IOS
    【01】优雅草央千澈详解关于APP签名以及分发-上架完整流程-如何将安卓APP-apk包和IOS苹果app-ipa包上架至应用商店-安卓以华为|小米|vivo|oppo|应用宝为例-苹果上架以appstore为例合计三篇背景介绍2024年12月13日优雅草APP分发平台youyacao.cn建立,提供服务(优雅草2019年就曾建......
  • 【nginx】nginx dns缓存踩坑记录
    项目背景世界是个巨大的草台班子。这周突然在某个群里看到有个接口URL不通了。人在工位坐,锅从天上来。登录服务器进行排查:接口通过nginx,直接正向代理到外部系统某个域名。这样配置的原因是业务区域不通公网,在隔离区部署的nginx上开正向代理,从而调通公网。登录服务器,......
  • nginx负载均衡
    早就想配置nginx负载玩一下了,本来想着用nginx负载docker的但是找了一天国内镜像源,都没能成功,后来安装了两个tomcat服务器,中间遇到个问题,运行了一个tomcat服务再去运行另一个时,这个服务就运行不起,我明明已经把里边一个8080端口改成8081了,但是还是没成功,找了老半天错误,原来tomcat涉......
  • .NET 8.0在linux中搭建consul+ocelot+nginx转发全流程,以及docker容器化
    闲来无事自己在电脑上搭了一套docker容器化加上服务发现反向代理的套餐,在这儿把流程写个大概,后面玩儿的别踩坑了。源码地址:https://github.com/Asomnus/MyProject1.git一、环境工具1.开发:net8.0SDK、vs2022(我用的这个,支持8.0都行)、mysql、redis等等(根据业务自己选)2.虚拟机相......