Nginx

推荐列表 站点导航

当前位置:首页 > 服务器技术 > Nginx >

Nginx 为什么是高效服务器,架构设计是怎样的?

来源:网络整理  作者:wy  发布时间:2020-12-23 11:23
Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的 HTTP 和反向代理服务器...

Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。

Nginx 因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer 的轻量级代替者,不仅是因为响应静态页面的速度非常快,而且它的模块数量达到 Apache 的近 2/3。对 proxy 和 rewrite 模块的支持很彻底,还支持 mod_fcgi、ssl、vhosts ,适合用来做 mongrel clusters 的前端 HTTP 响应。

目前 Nginx 在国内很多大型企业都有应用,且普及率呈逐年上升趋势。选择 Nginx 的理由也很简单:

第一,它可以支持 5W 高并发连接;

第二,内存消耗少;

第三,成本低。

Nginx 在架构中发挥的作用:

网关

---面向客户的总入口。

虚拟主机

---一台机器为不同的域名/ip/端口提供服务

路由

---使用反向代理,整合后续服务为一个完整业务

静态服务器

---mvvm 模式中,用来发布前端 html/css/js/img

负载集群

---使用 upstream,负载多个Tomcat

二、Nginx特点

与其他web服务器相比,Nginx特点:

1、速度快

nginx使用预读、连接池、内存池等技术,使得单次HTTP请求速度更快。

2、扩展性好

Nginx的结构是“核心+模块”的结构,Nginx本身就是一个Epool或Kqueue的事件处理和分发架构,后面会讲到模块知识。

3、高可靠性

Nginx的核心由一个任务很轻的管理进程(master进程)和若干工作进程(worker进程)组成。具体的HTTP请求在工作进程内负载均衡,如果某个工作进程异常终止了,管理进程会迅速重启一个新的工作进程接替该进程。

4、低内存占用

一般情况下,10000个非活跃HTTP保活连接仅占用2.5MB内存。ngx_lua每扩展10000个连接也仅占2.xMB内存。

5、高并发能力

部署在万级以上的场合下。Nginx全异步、非阻塞I/O的思想贯彻在核心、模块以及ngx_lua 模块中,无论是自己实现的模块,还是通过lua实现的脚本代码,都是非阻塞的高速运行。

6、热部署

由于Nginx的管理进程和工作进程是分开设计的,所以能够实现热部署功能。也就是系统不间断的情况下升级可执行程序,更新配置文件,更新日志。

7、开源

三、Nginx 架构设计

高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。

Nginx 为什么是高效服务器,架构设计是怎样的?

Nginx 模块图

核心模块

核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。

标准 HTTP 模块

标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP响应头设置等。

可选 HTTP 模块

可选 HTTP 模块主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,如:Flash 多媒体传输、解析 GeoIP 请求、SSL 支持等。

邮件服务模块

邮件服务模块主要用于支持 Nginx 的邮件服务,包括对 POP3 协议、IMAP 协议和SMTP 协议的支持。

第三方模块

第三方模块是为了扩展 Nginx 服务器应用,完成开发者自定义功能,如:Json 支持、Lua支持等。

相关热词: 服务器

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://www.juheyunku.com/server/nginx/8106.shtml

最新文章
Nginx环境下WordPress的多站点 Nginx环境下WordPress的多站点

时间:2021-01-05

nginx keepalive的具体使用 nginx keepalive的具体使用

时间:2021-01-05

Nginx的信号控制 Nginx的信号控制

时间:2021-01-05

win10上安装nginx的方法步骤 win10上安装nginx的方法步骤

时间:2020-12-29

linux下 nginx监控问题 linux下 nginx监控问题

时间:2020-12-29

Nginx配置基于多域名、端口 Nginx配置基于多域名、端口

时间:2020-12-28

详解Nginx之Location配置(Lo 详解Nginx之Location配置(Lo

时间:2020-12-28

详解基于centos7搭建Nginx网 详解基于centos7搭建Nginx网

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

Nginx 为什么是高效服务器,架构设计是怎样的?

2020-12-23 编辑:wy

Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,它的发音为“engine X”,是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。

Nginx 因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer 的轻量级代替者,不仅是因为响应静态页面的速度非常快,而且它的模块数量达到 Apache 的近 2/3。对 proxy 和 rewrite 模块的支持很彻底,还支持 mod_fcgi、ssl、vhosts ,适合用来做 mongrel clusters 的前端 HTTP 响应。

目前 Nginx 在国内很多大型企业都有应用,且普及率呈逐年上升趋势。选择 Nginx 的理由也很简单:

第一,它可以支持 5W 高并发连接;

第二,内存消耗少;

第三,成本低。

Nginx 在架构中发挥的作用:

网关

---面向客户的总入口。

虚拟主机

---一台机器为不同的域名/ip/端口提供服务

路由

---使用反向代理,整合后续服务为一个完整业务

静态服务器

---mvvm 模式中,用来发布前端 html/css/js/img

负载集群

---使用 upstream,负载多个Tomcat

二、Nginx特点

与其他web服务器相比,Nginx特点:

1、速度快

nginx使用预读、连接池、内存池等技术,使得单次HTTP请求速度更快。

2、扩展性好

Nginx的结构是“核心+模块”的结构,Nginx本身就是一个Epool或Kqueue的事件处理和分发架构,后面会讲到模块知识。

3、高可靠性

Nginx的核心由一个任务很轻的管理进程(master进程)和若干工作进程(worker进程)组成。具体的HTTP请求在工作进程内负载均衡,如果某个工作进程异常终止了,管理进程会迅速重启一个新的工作进程接替该进程。

4、低内存占用

一般情况下,10000个非活跃HTTP保活连接仅占用2.5MB内存。ngx_lua每扩展10000个连接也仅占2.xMB内存。

5、高并发能力

部署在万级以上的场合下。Nginx全异步、非阻塞I/O的思想贯彻在核心、模块以及ngx_lua 模块中,无论是自己实现的模块,还是通过lua实现的脚本代码,都是非阻塞的高速运行。

6、热部署

由于Nginx的管理进程和工作进程是分开设计的,所以能够实现热部署功能。也就是系统不间断的情况下升级可执行程序,更新配置文件,更新日志。

7、开源

三、Nginx 架构设计

高度模块化的设计是 Nginx 的架构基础。Nginx 服务器被分解为多个模块,每个模块就是一个功能模块,只负责自身的功能,模块之间严格遵循“高内聚,低耦合”的原则。

Nginx 为什么是高效服务器,架构设计是怎样的?

Nginx 模块图

核心模块

核心模块是 Nginx 服务器正常运行必不可少的模块,提供错误日志记录、配置文件解析、事件驱动机制、进程管理等核心功能。

标准 HTTP 模块

标准 HTTP 模块提供 HTTP 协议解析相关的功能,如:端口配置、网页编码设置、HTTP响应头设置等。

可选 HTTP 模块

可选 HTTP 模块主要用于扩展标准的 HTTP 功能,让 Nginx 能处理一些特殊的服务,如:Flash 多媒体传输、解析 GeoIP 请求、SSL 支持等。

邮件服务模块

邮件服务模块主要用于支持 Nginx 的邮件服务,包括对 POP3 协议、IMAP 协议和SMTP 协议的支持。

第三方模块

第三方模块是为了扩展 Nginx 服务器应用,完成开发者自定义功能,如:Json 支持、Lua支持等。

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://www.juheyunku.com/server/nginx/8106.shtml

相关文章

风云图片

推荐阅读

返回Nginx频道首页