Nginx篇——了解和认识Nginx的进程模型

本文详细介绍了Nginx的进程模型,包括单Master-MultiWorker模型,Worker的事件循环机制,以及如何手动修改worker进程数量。重点讲解了Master向Worker发送信号的过程。
摘要由CSDN通过智能技术生成

一、了解Nginx的进程模型

Nginx(发音为“engine x”)是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。它的进程模型主要采用的是多进程模型,具体来说,是“单Master—多Worker”模型。
在这种模型中,Nginx启动后,会有一个Master进程和多个Worker进程在后台运行。Master进程主要负责接收来自外界的信号、读取配置文件以及初始化Worker进程。而Worker进程则是实际处理网络请求的核心,它们采用单线程、非阻塞的事件模型(EventLoop,事件循环)来实现端口的监听及客户端请求的处理和响应。每个Worker进程都有Master创建出来的处于监听状态的socket句柄,因此它们都能监听到新连接加入的事件。
Worker进程的数量通常与机器的CPU核心数量一致,这是为了充分利用多核CPU的性能。Worker进程之间是相互独立的,一个请求只能在一个Worker进程中进行处理,一个Worker进程也不可能处理其他Worker进程的请求。当Worker进程因某种原因退出时,Master进程会及时启动新的Worker进程来替代。
此外,Nginx也支持两种启动方式:单进程启动和多进程启动。在单进程启动模式下,系统中仅有一个进程,该进程既充当Master进程的角色,也充当Worker进程的角色。而在多进程启动模式下,系统有且仅有一个Master进程,但至少有一个Worker进程在工作。
总的来说,Nginx的进程模型设计得非常高效和稳定,能够处理大量的并发连接和请求,是高性能Web服务器和反向代理服务器的优秀选择。

正常情况下,我们的Nginx会有两个进程,分别是master和worker。默认情况下的master和worker都只有一个

二、手动修改worker进程数量

修改的方法当然也是修改核心配置文件nginx.conf文件啦
我们看到,默认的Nginx配置的只有一个工作进程

可以手动修改成我们想要的工作进程数

这个时候再查看下Nginx进程,可以看到多了一个工作进程

三、Master向Worker发送的信号模型

至此,关于Nginx的进程模型介绍完毕,后续还会持续更新关于Nginx的详细技术点,敬请期待!

  • 12
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Be explorer

若认可笔者文章,手头富裕望支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值