CDN系列-nginx架构学习

本文介绍了nginx作为优秀的代理服务器,其进程模型采用master-worker结构,通过管道通信。在优化重启过程中,master进程接收信号后,平滑重启worker进程,确保服务不间断。此外,nginx利用epoll事件模型实现异步非阻塞处理,有效应对高并发场景,降低CPU资源消耗。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、框架介绍

        nginx 是一款出色的代理服务器,支持高并非,高度模块化,广泛用于CDN、统一接入网关、邮件服务器、后端代理服务器等等。

二、进程模型

        nginx 启动时,会有一个master进程和多个worker进程,master和worker进程之间通过管道进行通信,master进程主要是监控worker进程。为了减少cpu切换影响cpu效率,一个worker进程绑定到一个cpu上面。 

        接下来,我们谈下nginx的优化重启,执行:nginx -s reload时,整体流程:master进程收到重启信号后,会重载配置文件,然后启动worker进程,老的worker进程如果有任务在执行并不会立即退出,直到任务处理完才会完全退出。

nginx进程模型

 

三、事件模型

        这里主要谈的是高并发,为什么nginx能够处理高并发? 假设一个线程处理一个请求,那么上万的并发就需要上万的线程,这明显不合适,线程非常消耗cpu,这样cpu吃不消。nginx非常巧妙的应用了IO模型:epoll。nginx启动后:一个worker进程启动一个线程,处理事件时,采用异步非阻塞。比如nginx的worker1根某个client 建立连接后,会定时的查询是否数据需要处理,如果没有就不会一直占用资源,这里后续放个单独章节来分析代码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值