[超级初学者] 看完这篇就知道了! 即使是初学者也能理解的 NGINX 解释

大家好,我是 Beyond Inc. 的 Kitada。
在本文中,我将用浅显易懂的方式,结合图表,解释 NGINX,以便即使是初学者也能通过阅读本文理解它!

NGINX是什么?

由俄罗斯软件开发者 Igor Sysoev 开发的开源 Web 服务器软件

该服务器于 2004 年首次发布,迅速流行起来,现在已成为世界上最受欢迎的 Web 服务器之一,可与 Apache 相媲美。

网络服务器到底是什么?

网络服务器是一种接收用户请求、处理请求并向用户返回响应的服务器。

当用户浏览网站(例如主页)时,他们使用网络浏览器向网络服务器发送请求。网络服务器随后根据接收到的请求将数据作为响应返回给网络浏览器,从而在客户端屏幕上显示页面。

NGINX 等Web 服务器软件就可以将服务器作为 Web 服务器运行

NGINX 的主要特性

现在我们已经解释了Web服务器,接下来让我们看看NGINX的特性。
除了Web服务器的基本功能外,NGINX还提供了多种其他特性。

◇ Web 服务器:
它可以接收 HTTP/HTTPS 请求并返回相应的资源(静态文件,如 HTML、CSS 和 JavaScript)。

反向代理:
允许您使用另一个 Web 服务器作为后端来处理用户请求。

负载均衡器:
将请求分配到多个 Web 服务器进行处理。

◇ 缓存服务器
您可以缓存静态内容以提高交付速度。

NGINX主要用作 Web 服务器,但需要注意的是,也可以提取出来单独使用

NGINX 的优点和缺点

现在您已经了解了 NGINX 是什么以及 Web 服务器是什么,接下来我们将探讨使用 NGINX 作为 Web 服务器的优势和挑战。

NGINX 的优势

NGINX 的主要特点是速度快稳定性好可扩展性强

驱动
架构,它不会为每个请求创建一个进程,而是使用事件循环方法(一个处理队列中累积事件的单线程循环),这使得它能够用少量进程处理大量请求。它在处理静态内容(例如 HTML 和图像)方面速度尤其快,因此根据内容的不同,它的网站加载速度有时甚至比 Apache 更快。

○ 稳定性:
NGINX 采用简洁轻量级的设计。Apache 使用多线程,而 NGINX 使用单线程,这意味着它占用更少的内存。即使并发连接数增加,内存消耗也不会显著增加,因此运行稳定,不易出现故障。

可扩展性:
NGINX 允许您使用称为模块的扩展来添加各种功能,因此您可以根据需要进行自定义。

NGINX的缺点

接下来,我们将介绍使用 NGINX 时面临的一些挑战。


NGINX静态内容的交付,但在处理动态内容(例如论坛和社交媒体)时,其速度不如 Apache 。如果您有大量动态内容,则需要将其与擅长处理动态内容的 Apache 结合使用,或者将其与 CMS 或应用服务器集成,以创建能够增强动态内容处理能力的配置。

△ NGINX 的入门文档较少。NGINX 的
历史比 Apache 短,大约只有 10 年,因此面向初学者的日语文档必然比 Apache 少。所以,即使你想扩展 NGINX 的功能,也更容易在网上找到关于如何用 Apache 实现的信息,从而更容易添加功能。

因此,通过针对不同用途使用合适的服务器,可以提升服务器性能,例如使用 NGINX 处理大量静态内容和并发连接,而​​使用 Apache 处理少量高负载视频内容。此外,通过设计配置并实现互操作,可以共享优势并克服劣势。

NGINX 的历史与未来

最后,我们将介绍 NGINX 的历史和未来。

如引言所述,NGINX 于 2004 年由俄罗斯开发者 Igor Sysoev(以下简称 Sysoev)发布,是一款免费开源软件。之后,Sysoev 与 Maxim Dunin 和 Andrew Alexeev 于 2011 年共同创立了 NGINX 公司,旨在提供商业支持。NGINX 的市场份额持续稳步增长,预计到2024

NGINX 公司于 2019 年被美国服务器公司 F5 Networks 以 6.7 亿美元(约 1000 亿日元)收购,但该公司宣布将继续把 NGINX 作为开源软件维护,即使在收购之后,开发工作也像以前一样继续进行。

然而,2024年2月14日,NGINX Inc.的联合创始人之一杜宁在NGINX邮件列表中宣布,他已离开F5 Networks,并将开发NGINX的一个新分支,名为“freenginx”。根据公告,杜宁与F5 Networks的关系在2022年莫斯科办公室关闭时结束,此后他一直以志愿者的身份参与NGINX的开发。

他似乎并没有因为未获得报酬而遇到问题,但当F5 Networks的管理层变动,并干预NGINX的安全策略,无视开发者和社区的利益时,NGINX的开发完全落入了F5 Networks的控制之下,Dunin再也无法掌控它。因此,据信他宣布启动一个名为“freenginx”的新项目,这是NGINX的一个分支”。

Freenginx 是 NGINX 的一个分支,发布了其第一个正式版本 freenginx-1.25.4 还提供 freenginx-1.26.0

◇ 引用: https://freenginx.org/en/download.html

接下来需要关注的是 freenginx 将如何从 NGINX 中独立发展。

NGINX 概述

NGINX 是一款快速、稳定且可扩展的 Web 服务器,用途广泛!
正确使用它,您可以显著提升 Web 服务器的性能,所以一定要尝试一下。

如果您想了解更多关于 NGINX 的信息,请参考以下官方网站和文档。

◇ NGINX 官方网站: https://nginx.org

◇ NGINX 官方文档: https://nginx.org/en/docs

我们在以下文章中也对 NGINX 进行了详细介绍,请参阅:
https://beyondjapan.com/blog/2023/11/nginx_history

【内部学习资料】NGINX诞生史

希望这篇博文能帮助你更好地了解 NGINX。

如果您觉得这篇文章有帮助,请点赞!
5
加载中...
5 票,平均:1.00 / 15
5,834
X Facebook 哈特纳书签 口袋

写这篇文章的人

关于作者

Beyond 把我从兼职工作中接了出来。
人力资源部教育部基建工程师
我讨厌飞虫。