Nginx架构设计

 

Nginx架构设计

这里先说下Nginx设计时重视的几个关键点:

  • 性能:包括网络性能,单词请求的延迟性,网络效率;(名词就不解释了~)
  • 可伸缩性:可通过添加组件来提升服务,或者允许组件之间具有交互功能;
  • 简单性:组件的简单程度,便于理解和实现;
  • 可修改性:包括可进化性,可扩展性,可定制性,可配置性,可重用性;
  • 可见性:可监控关键组件的运行情况;
  • 可移植性:跨平台运行;
  • 可靠性:在服务出现故障时,一个架构容易受到系统层面故障影响的程度;

模块化设计

高度模块化的设计是Nginx的架构基础。在Nginx中,除了少量的核心代码,其他一切皆为模块。这一点在之前的模块开发的实践中已经感受到了。

所有模块都遵循ngx_module_t的接口设计,并且所有模块间都是分层次、分类别的。

官方Nginx共有五大类型模块:核心模块、配置模块、事件模块、HTTP模块、mail模块

它们都各具备相同的ngx_module_t接口,但在请求处理流程中的层次不相同。

Nginx常用模块间的关系如下图:

 

 

转载地址:

https://blog.csdn.net/erlib/article/details/24481197?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.channel_param

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Nginx是一个开源的高性能HTTP和反向代理服务器,它也可以作为电子邮件(IMAP/POP3)代理服务器、以及通用的TCP/UDP代理服务器。下面是Nginx的概念和技术架构: 1. Nginx架构:Nginx采用了基于事件驱动的异步非阻塞架构,主要由一个Master进程和多个Worker进程组成。Master进程负责接收和处理来自客户端的请求,而Worker进程负责实际处理请求并返回响应。 2. 反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发给后端的多个服务器。通过反向代理,Nginx可以实现负载均衡、缓存加速、SSL终端等功能。 3. 静态文件服务:Nginx可以快速地处理静态文件的请求,并且支持文件的压缩传输和断点续传等功能。这使得Nginx成为一个高效的静态文件服务器。 4. 动态内容处理:Nginx可以通过与各种后端应用程序(如FastCGI、uWSGI、PHP-FPM等)的协作,实现对动态内容的处理和分发。这使得Nginx能够处理动态网页、API请求等。 5. 高并发连接支持:由于Nginx采用了事件驱动的非阻塞模型,它可以高效地处理大量的并发连接。这使得Nginx成为一个高性能的服务器,适用于处理高并发的Web应用。 6. 模块化拓展:Nginx支持模块化的设计,可以通过第三方模块扩展其功能。例如,Nginx提供了许多常用的模块,如HTTP代理模块、负载均衡模块、缓存模块等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值