首页 > 系统相关 >nginx 整体架构

nginx 整体架构

时间:2024-11-10 14:57:03浏览次数:1  
标签:架构 请求 Nginx Worker 整体 nginx Master 进程 服务器

Nginx 是什么

Nginx 是一款 C 语言编写高性能 Web 服务器,反向代理服务器。占用内存少、并发能力强

使用场景

nginx主要有以下 4 个使用场景

  • 作为 Http 服务器,可以提供静态网页和静态资源的访问
  • HTTP代理缓存,缓存服务端请求数据
  • 作为反向代理服务器,将请求代理转发
  • 作为负载均衡服务器,将请求代理转发到多个服务器(最主要的使用场景)有多种使用方式,配置权重、hash路由等等

整体架构与核心组件


Nginx 主要由一个 Master 进程 + N 个 Worker 进程组成

Master 进程不处理网络请求,而是负责与 Worker 进程的交互,主要有下面几个功能:

  • 加载、重载配置
  • 加载、调度、监控、重启 Worker 进程
  • 不停机更新(实现原理:通过 Master 进程 fork 出新的 Master 子进程来实现)

Woker 进程主要用来处理网络请求,一般来说,建议 woker进程的数量 = CPU的核数

Nginx 实现高性能的原因

  • 有多个 Worker 进程,各个进程处理请求互不影响
  • 是基于异步的、非阻塞的事件驱动模型,类似于 Java 的 NIO 模型,依赖操作系统底层的事件模型(BSD kqueue、Linux epoll 及 Solaris event ports)
  • 有一个简单的内存池模块,用来将多次想系统的内存请求合并成一次,从而降低 CPU 开销

 

 

标签:架构,请求,Nginx,Worker,整体,nginx,Master,进程,服务器
From: https://www.cnblogs.com/baokang/p/18537958

相关文章

  • 电子电气架构 -- 智能汽车电子电气架构开发关键技术
    我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。人就应该满脑子......
  • macOS nginx 编译安装教程
    nginx有多种安装方式方式一:可以通过包管理器(homebrew)安装,安装较为简单brewinstallnginx即可,使用方式查看brewinfonginx方式二:通过源码编译的方式,本篇主要介绍这种安装方式源码编译安装1、打卡官方下载页面https://nginx.org/en/download.html选择稳定版本(Stableversi......
  • Spring Boot架构下的工程认证计算机课程管理
    1系统概述1.1研究背景随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理基于工程教育认证的计算机课程管理平台的相关信息成为必然。开发合适的基于工程教育认证的......
  • 架构师之路-学渣到学霸历程-50
    NGINX的重定向实验:继续再分享一个nginx的重定向实验;这个大概的意思就是固定起来每个浏览器怎么跳转有的浏览器是谷歌、有的是360等等;有些是有需求限制的1、基础的环境部署安装好nginx(这里最好的就是干净的环境)创建两个server;用于跳转需要配置好hosts文件实验规划:服务......
  • 发布 VectorTraits v3.0(支持 X86架构的Avx512系列指令集,支持 Wasm架构及PackedSimd指
    目录支持X86架构的Avx512系列指令集支持Avx512时的输出信息支持Wasm架构及PackedSimd指令集支持PackedSimd时的输出信息VectorTraits.Benchmarks.Wasm使用说明新增了向量方法支持.NET8.0新增的向量方法提供交织与解交织的向量方法YGroup3Unzip的范例代码提供重新构造组的向......
  • 科普文:软件架构数据库系列之【MySQL:innodb刷脏页之Checkpoint机制详解】
    概叙科普文:软件架构数据库系列之【MySQL/innodb刷脏页】-CSDN博客科普文:软件架构数据库系列之【innodb内存管理四剑客:LRU算法+Free_list、LRU_list、FlushList】-CSDN博客科普文:软件架构数据库系列之【MySQL:innodb刷脏页多线程的源码解读】-CSDN博客CheckPoint是MySQL的WA......
  • GPU 架构是图形处理器
    GPU架构是图形处理器(GPU)的内部设计和组织方式,它决定了GPU的性能、功能和效率。以下是GPU架构的一些主要组成部分和相关特点:流处理器(StreamingProcessor)或着色器核心(ShaderCore):这是GPU中最基本的计算单元,负责执行图形渲染和计算任务中的各种计算操作,例如顶点着色、像......
  • 软件架构之论文篇(七)
    论软件架构风格以及应用摘要    本人于2016年1月参与浙江省某市公交集团“公交车联网一体化”项目,该系统为新能源营运车辆补贴监管、安全监控等方面提供全方位的软件支撑,在该项目中我担任系统架构师岗位,主要负责整体软件架构设计与中间件选型。本文以该车联网项目......
  • 如何在微服务架构中优化微信 Access Token 管理:解决频率限制与过期问题的最佳实践
    问题描述在微信小程序或公众号的开发中,AccessToken是调用微信接口的关键凭证。然而,由于微信对AccessToken的访问频率和刷新操作有严格的限制(每个AccessToken有效期为2小时,刷新频率为2000次/天),微服务架构中多个服务或实例可能会频繁请求AccessToken,导致访问频......
  • 解决Nginx出现403 forbidden (13: Permission denied)报错的四种方法
    我是在在本地用虚拟机中通过yum安装nginx的,安装一切正常,但是访问时报403,于是查看nginx日志,路径为/var/log/nginx/error.log。打开日志发现报错Permissiondenied,详细报错如下:1.open()"/data/www/1.txt"failed(13:Permissiondenied),client:192.168.1.194,server:www.web......