-
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服务器中的服务于并发请求的软件。
- Nginx是由Igor Sysoev创建的,它于2004年10月公开发布了第一个 st ,以试图解决 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?
NGINX提供了各种服务,例如反向代理,负载平衡器和速率限制网络服务。如果我们有多个Web服务在各个端口上侦听,并且我们需要一个公共端点在内部重新路由请求,则反向代理很有用。这将允许我们在端口80上托管多个域名,同时使用不同NodeJ,Go和Java的组合在后台提供独立的Web服务。
Nginx可以处理日志记录,黑名单,负载平衡以及为静态文件提供服务,而Web服务则专注于他们需要做的事情。
Nginx的配置比Apache httpd容易。 Nginx是专为高并发性设计的,并且速度非常快。
NGINX如何工作?
在了解NGINX的过程之前,让我们看一下Web服务器的工作方式。当我们请求打开网页时,浏览器会与服务器联系。然后,服务器在页面中查找请求的文件,并将其发送到浏览器,这是请求的简单的工作流程。
上面的示例也被视为单线程。传统上,像Apache这样的Web服务器会为每个请求创建一个线程,但是Nginx不能那样工作。 Nginx使用异步的,事件驱动的架构执行,它巧妙地跟踪流程事件。
Nginx将其工作分为worker process和worker connections。这里,worker connections用于管理Web服务器上用户发出的请求和获得的响应。同时,这些请求将传递到其父进程(称为工作进程worker process)。
让我们看一个Nginx服务器处理并发MP3和MP4文件请求的示例:
从上图可以看出,单个工作程序连接一次可以处理大约1024个连接。这是worker connection 的最佳能力。根据我们拥有的服务器类型,Nginx中的工作进程可能有n个,每个工作进程处理不同的作业,以便它可以处理更多数量的并发请求。
无涯教程网
最后,工作进程将请求转移到Nginx主进程,该进程仅直接响应唯一请求。
由于worker connection最多可以处理1024个类似的请求。因此,Nginx可以轻松处理数千个请求。
NGINX的功能
Nginx的一些功能如下:
- 缓存的反向代理
- IPV6
- 负载平衡
- Web Socket
- 处理静态文件,索引文件和自动索引
- 具有缓存的FastCGI支持
- URL重写和重定向
NGINX和NGINX Plus
Nginx和Nginx plus是高流量网站(例如Netflix,Dropbox和Zynga)使用的最佳Web服务器和应用程序交付解决方案。最繁忙的网站,例如Google,Netflix,Twitter,Facebook等,都依赖Nginx和Nginx Plus来安全,可靠和快速地提供其内容。
- Nginx使硬件负载平衡器 - Nginx是开源的,比硬件负载平衡器更便宜且更具可配置性,并且是为现代云体系结构设计的。
Nginx plus提供即时重新配置的支持,并与现代DevOps工具集成在一起,以便于监控。
- Nginx是一个多功能工具 - 通过使用Nginx,我们可以使用与负载均衡器,内容缓存,反向代理和Web服务器相同的工具。当我们组织的配置需要维护时,它将工具的数量减到最少。
Nginx Plus包括对客户支持的快速响应,因此我们可以轻松诊断使用Nginx Plus和Nginx的堆栈的任何部分。
- NGINX不断发展。在过去的十年中,NGINX一直处于现代Web开发的最前沿,并帮助引领了从HTTP/2到微服务支持的所有方法。
随着Web应用程序的开发和交付不断发展,volve,NGINX Plus不断添加功能以实现完美的应用交付。