热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx基础架构

:本篇文章主要介绍了Nginx基础架构,对于PHP教程有兴趣的同学可以参考一下。
Web服务器设计中的关键约束

  1. 性能
    1. 网络性能
    2. 单次请求的延迟性
    3. 网络效率
  2. 可伸缩性
  3. 简单性
  4. 可修改性
  5. 可见性
  6. 可移植性
  7. 可靠性

Nginx 的架构设计

  1. 模块化设计
    高度模块化设计时Nginx 的架构基础。除了少量的核心代码,其他一切皆为模块。
    特点:
    1. 高度抽象的模块接口
    2. 模块接口非常简单,具有很高的灵活性
    3. 配置模块的设计
    4. 核心模块接口的简单化
    5. 多层次、多类别的模块设计
  2. 事件驱动架构
    由一些事件发生源来产生事件,由一个或者多个事件收集器来收集、分发事件,然后许多事件处理器会注册自己感兴趣的事件,同时会“消费”这些事件。

  3. 请求的多阶段异步处理
    请求的多阶段异步处理 只能 基于 事件驱动架构实现。
    把一个请求的处理过程按照事件的触发方式分为多个阶段,每个阶段都可以由事件收集、分发器来触发。

  4. 管理进程、多工作进程设计
    Nginx 采用一个master管理进程、多个worker工作进程的设计方式。
    这种设计的优点:
    1. 利用多核系统的并发处理能力
    2. 负载均衡
    3. 管理进程会负责监控工作进程的状态,并负责管理其行为
  5. 平台无关的代码实现
    C语言实现,尽量减少使用与操作系统平台相关的代码。
    Nginx重新封装了日志、各种基础数据结构、常用算法等工具软件。
    核心代码使用与操作系统无关的代码实现,与操作系统相关的系统调用则非别针对各个操作系统有独立的实现。

  6. 内存池的设计
    把多次向系统申请内存的操作整合成一次,大大减少了CPU资源的消耗,同时减少了内存碎片。

  7. 使用 统一管道过滤器模式的HTTP过滤模块

  8. 其他一些用户模块

    Nginx 框架中的核心结构体 ngx_cycle_t

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
  • ').text(i)); }; $numbering.fadeIn(1700); }); });

    以上就介绍了Nginx 基础架构,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

  • 推荐阅读
    • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
    • 电商高并发解决方案详解
      本文以京东为例,详细探讨了电商中常见的高并发解决方案,包括多级缓存和Nginx限流技术,旨在帮助读者更好地理解和应用这些技术。 ... [详细]
    • 2021年Java开发实战:当前时间戳转换方法详解与实用网址推荐
      在当前的就业市场中,金九银十过后,金三银四也即将到来。本文将分享一些实用的面试技巧和题目,特别是针对正在寻找新工作机会的Java开发者。作者在准备字节跳动的面试过程中积累了丰富的经验,并成功获得了Offer。文中详细介绍了如何将当前时间戳进行转换的方法,并推荐了一些实用的在线资源,帮助读者更好地应对技术面试。 ... [详细]
    • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
    • PHP面试题精选及答案解析
      本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
    • 对象存储与块存储、文件存储等对比
      看到一篇文档,讲对象存储,好奇,搜索文章,摘抄,学习记录!背景:传统存储在面对海量非结构化数据时,在存储、分享与容灾上面临很大的挑战,主要表现在以下几个方面:传统存储并非为非结 ... [详细]
    • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
      本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
    • 网站访问全流程解析
      本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
    • 服务器部署中的安全策略实践与优化
      服务器部署中的安全策略实践与优化 ... [详细]
    • 在Java分层设计模式中,典型的三层架构(3-tier application)将业务应用细分为表现层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。这种分层结构不仅有助于提高代码的可维护性和可扩展性,还能有效分离关注点,使各层职责更加明确。通过合理的设计和实现,三层架构能够显著提升系统的整体性能和稳定性。 ... [详细]
    • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
      小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
    • MOSS2007 中型服务场配置指南:网络负载均衡集群设置
      本文详细介绍了如何在MOSS2007环境中配置网络负载均衡集群,包括安装和配置网络负载均衡功能的具体步骤。通过本文,读者可以了解如何在多台Web服务器上安装并配置网络负载均衡,以实现高效的服务分发。 ... [详细]
    • 在配置Nginx的SSL证书后,虽然HTTPS访问能够正常工作,但HTTP请求却会遇到400错误。本文详细解析了这一问题,并提供了Nginx配置的具体示例。此外,还深入探讨了DNS服务器证书、SSL证书的申请与安装流程,以及域名注册、查询方法和CDN加速技术的应用,帮助读者全面了解相关技术细节。 ... [详细]
    • 在优化Nginx与PHP的高效配置过程中,许多教程提供的配置方法存在诸多问题或不良实践。本文将深入探讨这些常见错误,并详细介绍如何正确配置Nginx和PHP,以实现更高的性能和稳定性。我们将从Nginx配置文件的基本指令入手,逐步解析每个关键参数的最优设置,帮助读者理解其背后的原理和实际应用效果。 ... [详细]
    • Nginx作为前端服务器时,Tomcat与Apache作为后端,War包应部署在何处? ... [详细]
    author-avatar
    头都大了66
    这个家伙很懒,什么也没留下!
    PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有