对Apache和Nginx进行了研究的总结

中间件

中间件是软件的一种,它是计算机组成的一个要素。
拥有中间件的作用,计算机可以进行复杂的处理。

Apache_nginx-コンピュータ構成要素.png

计算机(硬件)中已经安装了操作系统。
操作系统承担着通用功能,但它并不仅仅用于运行应用程序(如Chrome和Excel),还需要中间件来进行操作系统和应用程序之间的桥梁作用。

中文翻译:中间件类别

在中文中可以这样表达:中间件有三种类型,分别是”Web服务器”、”应用服务器”和”数据库管理服务器”。这些被称为Web的三层结构。

网页服务器

我们通常在电脑或手机上浏览的内容,是从web服务器上获取的文字和图像的集合。
当我们请求“想要看这个页面”的时候,web服务器会回应给我们(响应)。
无论是每个人都能看到相同内容的“静态内容”,还是根据浏览者而变化的内容,例如购物网站的购物车,“动态内容”也会回应给我们(动态内容需要web服务器向应用服务器请求内容)。

Apache_nginx-webサーバーとの連携.png

而在Web服务器领域,代表性的产品有Apache和nginx。

Apache是什么?

一款可以免费(开源)使用的网络服务器软件。
官方名称为”Apache HTTP Server”。
由于1995年发布并至今仍在被使用,可见其作为一款受欢迎的网络服务器软件。

在技术变迁迅速的行业中,能够因此被广泛使用真是一件了不起的事情。

优点

可以免费使用。

正如我之前所说,因为可以免费使用,所以在成本方面有优势。

可在主要操作系统中使用

在主要的操作系统中(例如Mac、Windows和Linux),高度的通用性也是一个优点。

功能齐全

Apache是一款长期以来备受欢迎的软件,针对扩展功能,提供了许多模块供使用。

处理速度快且稳定。

由于处理速度快且稳定,网页的显示和内容的操作也很流畅。

缺点

当请求过多时,操作往往会变得缓慢。

Apache是使用多进程的,当请求量大时会同时启动多个进程。这样会导致负载处理变得更加繁重,消耗大量内存。最终导致运行变得缓慢(即C10K问题)。

即使服务器性能良好,但当客户端的同时连接数超过一定数量时,服务器会挂起并响应变慢。 “C”表示客户端,“10K”表示1万个。因此,并不是当客户端的同时连接数达到1万台时才会发生这种情况,但也不是这意味着发生的时候连接数恰好是1万台。

没有支持和保证

由于是开源的,所以在出现问题时需要用户解决。(不过,由于被许多人长期使用,通过在网络上搜索可能会找到解决方法,也可以自行进行故障排除)

Nginx是一种软件,它也被称为Engine X。

web服务器的份额与Apache一样普遍,许多企业如Adobe和CyberAgent也在使用(更详细地说,使用的是Nginx Plus)。
可以使用开源软件(OSS)的免费版,还有扩展了OSS功能的付费版(即前面提到的Nginx Plus)。

利益

如果选择OSS,可以免费使用。

有免费版本,可以试用一下。要了解与付费版本的功能比较,可以通过Nginx Plus来确认。

可以处理大量请求

尽管与Apache经常被比较,但Nginx在处理大量同时连接方面更强大。(能够解决C10K问题)

作为反向代理工作

在/etc/nginx/conf.d设置文件中写入代理设置,并将其用作反向代理。

缺点

对于消耗大量CPU资源的处理任务比较薄弱

不适合运行应用程序和处理视频等任务。

将Nginx作为独立的解决方案实现并不容易。

没有PHP等脚本语言处理的功能。

Apache和nginx的优缺点总结表

image.png
广告
将在 10 秒后关闭
bannerAds