导航:首页 > 文件管理 > nginx多个进程配置文件不更新问题

nginx多个进程配置文件不更新问题

发布时间:2025-03-07 00:00:00

1. Nginx - 深入理解nginx的处理请求、进程关系和配置文件重载

Nginx的系统学习整理的第三篇博客,主要介绍nginx的应用场景和架构基础,以便更好的理解,再生产环境中进行性能调优。


Nginx的三个主要应用场景:



运行中的Nginx进程间的关系:


Nginx部署以后,我们首先要了解的是Nginx进程间的关系,是怎么做到处理高并发的请求的原理和实现,可以使用pstree命令查看master和worker的关系。


Nginx是支持单进程(master进程)提供服务的,那么为什么产品环境下要按照master-worker方式配置启动多个进程,这样做主要有两点:



Nginx请求处理流程:


Nginx可以搭建静态web服务器,反向代理服务器,对一些限流、限速的方向上是有所不同的,这些都要求我们对Nginx架构有清晰的了解,需要我们从Nginx内部看Nginx是怎样处理请求的。


当web请求或者tcp请求进入到Nginx上,Nginx内部有三个大的状态机,传输层(Tcp/Udp)状态机、Http状态机,以及处理邮件的Mall状态机,为什么要叫它状态机呢,是因为Nginx中的核心用非阻塞的事件驱动处理引擎,就是我们所说的epoll异步处理引擎以后,通常都需要使用状态机对请求进行正确处理的。


当处理静态资源的时候会有一个问题,当整个内存不足时完全缓存文件信息的时候,AIO会退换成使用线程池处理磁盘的阻塞调用。


对于每一个处理完成的请求会记录到Access访问日记和错误日志里,更多的时候Nginx作为反向代理服务器使用的,可以使用协议传输到后面的服务器,也可以通过应用层的协议,代理到响应的应用服务器


配置文件重载的原理真相:


想了解配置文件重载的原理真相,需要先了解Nginx的组成,Nginx一共有四个组成部分:Nginx二进制可执行文件,由各源码编译出的一个文件;Nginx.conf配置文件,控制Nginx的行为;Access.log访问日志,记录每一条http请求信息;Error.log错误日志,定位问题。


reload配置文件重载流程:


Nginx配置文件重载如图所示,大致可分三步:



注意,在新老配置进程交替过程中,新老进程是同时存在的,如果是异常的请求出了问题,客户端长时间没有处理,会导致请求长时间占用在内存中,worker进程就会一直存在,解决这个问题的办法设置,可以设置worker_shutdown_timeout解决。


升级流程:



常说Nginx要优雅的关闭worker进程,Nginx的worker进程可以识别出当前的链接没有正在处理请求,这个时候我们在关闭链接。


Nginx优雅的关闭主要针对的是http请求,对于想tcp、websocket这种请求Nginx也是无能为力的。

阅读全文

与nginx多个进程配置文件不更新问题相关的资料

热点内容
excel表格传送文件乱怎么办 浏览:832
js正则匹配标点符号 浏览:352
蒲公英无线密码 浏览:772
尼康d610固件版本 浏览:760
happenending伴奏 浏览:402
怎么取消文件保存的路径 浏览:326
用python创建不了压缩文件 浏览:38
如何保存文件到桌面 浏览:915
调用cmd打开文件夹 浏览:363
顺丰邮寄文件广州到威海多少钱 浏览:154
u盘怎么把文件放到文件夹 浏览:513
微信旧版本48下载 浏览:731
shp数据如何修改字段长度 浏览:577
高精度可编程电源属于什么工具 浏览:113
微商拍照手机索尼和苹果哪个好 浏览:539
火种app英文名字是什么 浏览:911
如何退出程序 浏览:562
微信文件桌面安装 浏览:651
为什么文件夹删不了 浏览:145
苹果4手机为什么黑屏 浏览:513

友情链接