本文概述
- 为什么要使用NGINX?
- NGINX如何工作?
- NGINX的功能
- NGINX和NGINX Plus能为你做什么?
- NGINX的发音为” engine-ex” 。
- 它是一种开放源代码, 快速, 轻巧和高性能的Web服务器, 可用于提供静态文件。
- NGINX被认为是继Apache Web服务器和Microsoft IIS之后的流行Web服务器。
- 在其初始发行版中, NGINX可用于HTTP Web服务。但是, 今天, 它还可以用作HTTP, HTTPS, SMTP, IMAP, POP3协议的反向代理服务器, 另一方面, 它还可以用于HTTP负载均衡器, HTTP缓存以及IMAP, POP3和SMTP。
- NGINX改善了内容和应用程序交付, 提高了安全性, 并促进了Internet上最繁忙的网站的可伸缩性和可用性。
- 简而言之, 我们可以说Nginx只是在Web服务器中用于处理并发请求的一种软件。
- 以前, 我们曾经在Web服务器上安装Apache来处理这些功能, 但是随着世界的发展, 一次又一次地增长和需求更多, 术语” 并发” 问世, 而nginx就是为同一件事而推出的。
- Nginx是由Igor Sysoev创建的, 它于2004年10月首次公开发布, 旨在解决C10k问题。 C10k是同时管理10, 000个连接的挑战。如今, Web服务器必须处理更多的连接。因此, nginx提供了事件驱动和异步架构。此功能使Nginx成为可扩展性和速度最可靠的服务器。
- 使用Nginx的一些知名公司包括IBM, Google, Atlassian, Autodesk, GitLab, DuckDuckGo, T-Mobile, Microsoft, Adobe, Salesforce, VMware, LinkedIn, Cisco, Twitter, Apple, Intel, Facebook等。
Nginx可以处理日志记录, 黑名单, 负载均衡和提供静态文件, 而Web服务则专注于他们需要做的事情。
【什么是NGINX()】Nginx的配置比Apache httpd容易。 Nginx是专为高并发而设计的, 并且速度非常快。
NGINX如何工作? 在了解NGINX的过程之前, 让我们看一下Web服务器的工作方式。当我们请求打开网页时, 浏览器会与服务器联系。然后, 服务器在页面中查找请求的文件, 并将其发送到浏览器。这是请求的最简单的工作。
上面的示例也被视为单线程。传统上, 像Apache这样的Web服务器会为每个请求创建一个线程, 但是Nginx不能那样工作。 Nginx使用异步的, 事件驱动的架构执行。它巧妙地跟踪流程事件。
Nginx将其工作分为工作进程和工作连接。这里, 工作程序连接用于管理Web服务器上用户发出的请求和获得的响应。同时, 这些请求将传递到其父进程(称为工作进程)。
让我们看一个Nginx服务器处理并发MP3和MP4文件请求的示例:
文章图片
从上图可以看出, 单个工作程序连接一次可以处理大约1024个连接。这是工作人员联系的最佳能力。根据我们拥有的服务器类型, Nginx中的工作进程可能有n个, 每个工作进程处理不同的工作, 以便它可以处理更多数量的并发请求。
最后, 工作进程将请求传输到Nginx主进程, 该进程仅直接响应唯一请求。
由于工作人员连接最多可以处理1024个类似的请求。因此, Nginx可以轻松处理数千个请求。这也是Nginx成为电子商务, 搜索引擎和云存储等繁忙网站的出色服务器的原因。
NGINX的功能 Nginx的一些功能如下:
- 具有缓存的反向代理
- IPV6
- 负载均衡
- 网络套接字
- 处理静态文件, 索引文件和自动索引
- 具有缓存的FastCGI支持
- URL重写和重定向
- Nginx使硬件负载均衡器过时了-Nginx是开源的, 比硬件负载均衡器更便宜, 更可配置, 并且是为现代云体系结构设计的。
Nginx plus提供即时重新配置的支持, 并与现代DevOps工具集成在一起, 以实现更轻松的监控。 - NNginx是一个多功能工具-使用Nginx, 我们可以使用与负载均衡器, 内容缓存, 反向代理和Web服务器相同的工具。随着我们组织的配置需要维护, 它可以最大限度地减少工具数量。
Nginx Plus包括对客户支持的快速响应, 因此我们可以轻松诊断使用Nginx Plus和Nginx的堆栈的任何部分。 - NGINX不断发展。在过去的十年中, NGINX一直处于现代Web开发的最前沿, 并帮助引领了从HTTP / 2到微服务支持的所有方法。
随着Web应用程序的开发和交付不断发展, NGINX Plus不断添加功能以实现完美的应用程序交付。
推荐阅读
- NGINX最低配置详解
- HTTP负载均衡配置详解
- NGINX运行状况检查详解
- NGINX动态模块
- Nginx指令与上下文
- NGINX所有指令
- nginx|Nginx学习笔记(五)(浅析Nginx原理)
- NGINX压缩和解压缩
- NGINX内容缓存