Nginx 基础架构

php中文网
发布: 2016-07-29 09:09:12
原创
1011人浏览过

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过滤模块

    即构数智人
    即构数智人

    即构数智人是由即构科技推出的AI虚拟数字人视频创作平台,支持数字人形象定制、短视频创作、数字人直播等。

    即构数智人 36
    查看详情 即构数智人
  8. 其他一些用户模块

    Nginx 框架中的核心结构体 ngx_cycle_t

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

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

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号