首页 > 系统相关 >【Linux】Nginx reload原理

【Linux】Nginx reload原理

时间:2024-03-27 14:33:06浏览次数:28  
标签:shutdown timeout reload worker Nginx 关闭 Linux 进程 连接

当我们更改了nginx.conf配置文件以后,向master父进程发送SIGHUP信号或者执行nginx -s reload,master父进程会用新的配置文件启动新的worker子进程,此时新的worker子进程与旧的worker子进程是并存的,旧的worker子进程在正常的情况下在处理完老的请求连接以后会关闭这个连接和旧的worker子进程。对于异常或者长链接,达到了worker_shutdown_timeout时间定时器也会退出。
具体流程:
第一步会设置一个定时器,在nginx.conf中可以配置一个worker_shutdown_timeout,配置完 worker_shutdown_timeout 之后,会加一个标志位,表示进入优雅关闭流程了(默认是没有该配置,只要连接在worker进程就一直在)。

第二步会先关闭监听句柄,要保证所在的 worker 进程不会再去处理新的连接。

接下来会先去看连接池,因为 Nginx 为了保证对资源的利用是最大化的,经常会保存一些空闲的连接,但是没有断开,这时候会首先关闭空闲连接。

第四步是可能非常耗时的一步,因为 Nginx 不是主动的立刻关闭,是通过第一步添加的标志位,然后在循环中每当发现一个请求处理完毕,就会把这个请求使用的连接关掉,所以在循环中等待关闭所有的时间可能会很长。当设置了 worker_shutdown_timeout 的时候,即使请求还没处理完,当时间到了之后这些请求都会被强制关闭,也就是说优雅地关闭只完成了一半,有一部分连接是立即停止的。

因此在以下两个条件:当所有循环中连接被优雅地关闭,或者达到了 worker_shutdown_timeout 时间定时器以后,worker 进程都会立即退出。

标签:shutdown,timeout,reload,worker,Nginx,关闭,Linux,进程,连接
From: https://www.cnblogs.com/ayf-devops/p/18099101

相关文章

  • Linux常用命令
    linux常用命令sh切换桌面cat/etc/shells看系统支持的shell类型bash是可以多开的,多开的bash相对是独立的操作系统:也是一种特殊的程序,调度硬件资源命令的本质是一个个程序内部命令:1.内部命令和bash软件是一体的,bash中集成了很多命令2.没有独立的文件3.不用独立......
  • linux基础和命令
    shell软件,shell编程语言bashcsh特性不同shell在操作系统和人之间进行翻译gui终端软件centos7默认的shell软件类型/bin/bash翻译,补全,自带内部命令等功能cat/etc/shells看到系统支持的shell类型bash是可以多开的,多开的bash相对是独立的操作系统:也是一种特殊的程......
  • 【赛题解析】【网络建设与运维】第三阶段Linux Vsftpd部分答案解析
    培训、环境、资料、考证公众号:波比网络公众号2:波比网络工作室网络建设与运维群:685678820波比网络专注于技能提升,赋能ftp服务任务描述:请采用ftp服务器,实现文件安全传输。1.配置 linux1为ftp服务器,安装vsftpd,新建本地用户xiaoming,本地用户登陆ftp后的目录为/var/ft......
  • Linux文件管理
    Linux的三种压缩、解压缩方式tar命令在开始了解压缩和解压缩方式前,得先知道tar命令tar命令相关选项-c创建新的存档-x提取存档压缩包-t列出压缩包文件的内容-v显示详细信息-f文件名-help显示帮助信息1、gzip压缩、解压缩压缩:(命名规范后缀:xx.tar.gz)tarczvf名称.ta......
  • 项目中用到的linux命令
    查看linux服务器外网ip:curlifconfig.me查看指定端口号:netstat-tuln|grep:80是否能链接上指定服务器:ping192.168.124.100查看进程是否存在:ps-ef|grepjenkins对升级的安装包进行降级:yumdowngradejenkins-2.164.3-1.1.noarch centOS7防火墙相关命令:查看防......
  • E810-CQDA1 E810-CQDA2 E810-2CQDA2 E810-XXVDA2 E810-XXVDA4 英特尔®以太网800系列
    E810-CQDA1E810-CQDA2E810-2CQDA2E810-XXVDA2E810-XXVDA4英特尔®以太网800系列Linux性能调优指南(第二篇续)4.0性能故障处理4.1CPU利用率在工作负载运行时检查每个核心的CPU利用率。注意:与总体CPU利用率相比,每个核心的利用率与性能更相关,因为它提供了每个网络队列......
  • linux统计文件夹里有多少个文件内容
    在Linux中,可以使用find命令配合wc命令来统计某个文件夹内的文件数量。以下是一个示例命令,用于统计当前目录下的文件数量(不包括子目录中的文件):find.-typef|wc-l如果你想包括子目录中的文件数量,可以省略-typef,只使用find.。如果你只想统计特定目录下的文件数量,可以将.替......
  • linux修改系统时区
    1、https://wenku.csdn.net/answer/89f4b06ee65511edbcb5fa163eeb3507 root@yao-test:~/testmysqlback#cat/etc/localtimeTZif2UTCTZif2UTCUTC0查看当前时区root@yao-test:~/testmysqlback#timedatectl              Localtime:Wed2024-03-2702:58:44......
  • Linux系统安装完成之后如何开启root的ssh登录
    Linux系统安装完成之后如何开启root的ssh登录默认情况下,root用户是没有密码的,而且出于安全考虑,SSH服务不允许root用户直接登录。但在某些情况下,你可能需要以root用户身份通过SSH远程登录服务器,或者为root用户设置密码。修改root用户密码首先,登录到Linux系统。如果你是通......
  • linux创建定时脚本
    1.我的项目定期生成的log日志很大,需要手动执行此方法才能清空日志cat/dev/null>/usr/local/server/pingvps/pingvps.out2.我想把此命令做成脚本,创建clear.sh文件,并且授权最高权限,内容如下#!/bin/bashsh-c'cat/dev/null>/usr/local/server/marryserver/log.out'......