本文来说下Nginx相关的原理

文章目录

  • 概述
  • worker 是如何工作的
    • 一个 master 和多个 worker 的好处
    • 设置多少个 worker 合适
    • 相关思考
  • 本文小结

概述

Nginx 启动之后,在 Linux 系统中有两个进程,一个为 master,一个为 worker。master 作为管理员不参与任何工作,只负责给多个 worker 分配不同的任务(worker 一般有多个)。

ps -ef |grep nginx
root     20473     1  0  2019 ?        00:00:00 nginx: master process /usr/sbin/nginx
nginx     4628 20473  0 Jan06 ?        00:00:00 nginx: worker process
nginx     4629 20473  0 Jan06 ?        00:00:00 nginx: worker process

worker 是如何工作的

客户端发送一个请求首先要经过 master,管理员收到请求后会将请求通知给 worker,多个 worker 以争抢的机制来抢夺任务,得到任务的 worker 会将请求经由 tomcat 等做请求转发、反向代理、访问数据库等(nginx 本身是不直接支持 java 的)。


一个 master 和多个 worker 的好处

一个 master 和多个 worker 的好处

  • 可以使用 nginx -s reload 进行热部署。
  • 每个 worker 是独立的进程,如果其中一个 worker 出现问题,其它 worker 是独立运行的,会继续争抢任务,实现客户端的请求过程,而不会造成服务中断。

设置多少个 worker 合适

Nginx 和 redis 类似,都采用了 io 多路复用机制,每个 worker 都是一个独立的进程,每个进程里只有一个主线程,通过异步非阻塞的方式来处理请求,每个 worker 的线程可以把一个 cpu 的性能发挥到极致,因此,worker 数和服务器的 cpu 数相等是最为适宜的。


相关思考

思考

  • 发送一个请求,会占用 worker 几个连接数?
  • 有一个 master 和 4个 worker,每个 worker 支持的最大连接数为 1024,该系统支持的最大并发数是多少?

本文小结

本文详细介绍了Nginx相关的原理。

Nginx的原理解析相关推荐

  1. NGINX工作原理解析

    1 反向代理 1.1 概念 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给intern ...

  2. 【nginx】原理解析

    闲话 今天从下午三点学到了晚上将近十点,前一章节的高并发给我整的够呛,各种问题,但是自己跟自己约定了,今天一定要结束nginx的学习 基本要点 1.Nginx分为单工作进程和多工作进程两种模式 在单工 ...

  3. 【Nginx那些事】nginx原理解析

    [Nginx那些事]系列 [Nginx那些事]nginx 安装及常用指令 [Nginx那些事]Nginx 配置文件说明 [Nginx那些事]nginx原理解析 [Nginx那些事]nginx配置实例( ...

  4. Nginx(七):nginx原理解析

    前面我们讲到了nginx的反向代理.负载均衡.动静分离以及高可用,本篇我们来了解一下nginx的原理,看一下nginx是怎么执行的. 1.mater和worker 2.worker是如何进行工作的 3 ...

  5. Nginx工作原理及相关介绍

    Nginx工作原理及相关介绍 一.Nginx工作原理与模块介绍 1.Nginx基本工作原理 NGINX以高性能的负载均衡器,缓存,和web服务器闻名.Nginx由内核和模块组成,其中,内核的设计非常微 ...

  6. flask web开发是前端还是后端_Flask Web开发实战:入门、进阶与原理解析 PDF 全格式版...

    给大家带来的一篇关于Flask相关的电子书资源,介绍了关于Flask.Web.开发实战方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小12.2M,李辉编写,目前豆瓣.亚马逊.当当.京东等 ...

  7. 【重识云原生】第六章容器基础6.4.5.3节——Deployment实现原理解析

    <重识云原生系列>专题索引: 第一章--不谋全局不足以谋一域 第二章计算第1节--计算虚拟化技术总述 第二章计算第2节--主流虚拟化技术之VMare ESXi 第二章计算第3节--主流虚拟 ...

  8. Nginx工作原理和优化、漏洞(转)

    查看安装了哪些模块命令: [root@RG-PowerCache-X xcache]# nginx/sbin/nginx -V nginx version: nginx/1.2.3 built by  ...

  9. 深入理解异步I/O+epoll+协程,附上epoll原理解析以及协程现实与原理剖析视频

    前言 同步和异步的概念描述的是用户线程与内核的交互方式:同步是指用户线程发起IO请求后需要等待或者轮询内核IO操作完成后才能继续执行:而异步是指用户线程发起IO请求后仍继续执行,当内核IO操作完成后会 ...

最新文章

  1. Web性能优化实践——应用层性能优化
  2. python round函数_python中round函数如何使用
  3. SpringBoot异常处理-@ExceptionHandler
  4. QingStor分布式存储全线升级:自研需要勇气,成功还要看实力
  5. python字符串最大长度_字符串String的最大长度
  6. poj 1466 Girls and Boys
  7. postman 的基础使用
  8. 用remastersys备份LINUX,注意备份盘的空间占用
  9. 伍德里奇计量经济学导论之计算机操作题的R语言实现(多元回归:估计)
  10. zemax操作例子_光学软件使用实例:从Zemax导入光学系统
  11. 《机器学习》周志华第一章课后习题
  12. 论文阅读17 | Cross-modality Person re-identification with Shared-Specific Feature Transfer
  13. Android DevicePolicyManager 设备管理
  14. 【网格压缩测评】MeshQuan、MeshOpt、Draco
  15. SAP扫盲系列之一:什么是SAP系统和应用服务器
  16. 七夕节程序员应有的表白方式
  17. Chrome 93 版本新特性 Chrome 93 版本发行说明
  18. 【华为机试029】合唱队
  19. 淘集集商家入驻?淘集集商家入驻的步骤?
  20. 水星mac1300r虚拟服务器,水星(MERCURY)MAC1300R路由器用手机怎么设置?

热门文章

  1. Unity 下载存档
  2. Android(Fragment和Activity之间通信)
  3. PHP extension mcrypt must be loaded.
  4. 10分钟教会你Apache Shiro
  5. VBScript基础教程之一什么是 VBScript
  6. LeetCode-数组-三数之和
  7. ElasticSearch权威指南学习(结构化查询)
  8. 关于juniper配速小记
  9. 关于captcha使用The _imagingft C module is not installed的错误处理
  10. MonkeyRunner学习(1)测试连接