首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx原理解析

Nginx原理解析

原创
作者头像
程序员阿杜
修改2021-08-13 10:23:19
3920
修改2021-08-13 10:23:19
举报
文章被收录于专栏:开源君开源君

文章已同步至GitHub开源项目: Java超神之路

master和worker

image-20210812200852626
image-20210812200852626
  • 当linux启动的时候,会有两个和nginx相关的进程,一个是master,一个是worker
image-20210812203128324
image-20210812203128324

master如何工作

image-20210812201111349
image-20210812201111349
  • 当客户端发送请求到nginx之后,master会接收到这个请求,然后通知所有的worker进程,此时,worker会对这个请求进行争抢。某个worker抢到请求之后,就会根据设置好的步骤进行请求转发。
  • 一个master和多个worker的好处
    • 可以使用nginx -s reload热部署。 当进行热部署的时候,正常的worker会重启,但是正在处理请求的worker不会,等请求处理完毕之后,才会进行重启。
    • 对于每一个独立的worker,在进行并发的时候,不需要考虑加锁的问题。而且各个worker之间不会互相影响。降低了业务瞬间失效的可能。

worker的设置

worker的数量

  • nginx和redis一样采用了io多路复用机制,每个worker都是一个独立的进程。每个worker的进程都会将cpu的性能发挥到极致。
  • 所以worker的数量和服务器的cpu数量相等是最合适的。(几核就设置几个worker)
  • 设置少了会浪费cpu性能,导致处理业务请求的速度变低。
  • 设置多了会造成cpu频繁切换上下文带来的损耗。

文章已同步至GitHub开源项目: Java超神之路 更多Java相关知识,欢迎访问!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • master和worker
  • master如何工作
  • worker的设置
    • worker的数量
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档