阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Web服务器如何选择 Apache or Nginx?

442次阅读
没有评论

共计 2401 个字符,预计需要花费 7 分钟才能阅读完成。

Web 服务器是直接影响网站性能的关键因素,也是每个站长选择网站运营环境时必然考虑的问题。目前 Web 服务器市场产品众多,最为主流和代表性的当属 Apache、Nginx 以及微软的 IIS。本文目的是通过 Apache 和 Nginx 进行对比,从而帮助广大用户们能够选择适合自己的 Web 服务器。

一、简介

Apache:

Apache 创建于 1995 年,并从 1999 年开始在 Apache 软件基金会旗下进行开发。Apache 灵活、高效,拥有丰富的扩展模块,以及活跃的社区支持,成为目前世界上最为主流的开源免费的 Web 服务器软件。

Nginx:

Nginx 是由俄罗斯软件工程师 Igor Sysoev 编写的免费开源 Web 服务器。自从 2004 年上市以来,nginx 专注于高性能,高并发性和低内存使用。并且其在负载均衡,缓存,访问和带宽控制以及与各种应用程序高效集成等方面的特性,都使得它逐步深受广大用户青睐。

下面是 2017 年 4 月份更新的 web 服务器市场份额对比图:

 Web 服务器如何选择 Apache or Nginx?

二、对比

虽然 Apache 和 Nginx 各自的背景不同,但他们的作用目的是一致的,简单说就是接收用户请求,然后处理请求,最后将处理结果返回给用户。

1. 链接处理

Apache 和 Nginx 最大的不同在于它们对连接的处理方式。Apache 提供一系列多重处理模块,通过这些多重处理模块来使用操作系统的资源,对进程和线程池进行管理,控制处理用户请求。

Apache 提供了三种多重处理模块:mpm_prefork、mpm_worker、mpm_envent,下面我们做简要说明对比。

mpm_prefork:模块产生众多子进程,每个子进程是单线程的,每个线程链接一个请求,如此一对一的关系。所以如果请求数大于进程数时,服务器的性能就表现得差强人意了。

 Web 服务器如何选择 Apache or Nginx?

mpm_worker:与 prefork 不同,worker 中子进程是多线程的,每个线程管理一个用户连接。线程数要多于进程数量,这也就意味着新的连接能立刻得到一个空闲的线程,而不用等待进程空闲。

 Web 服务器如何选择 Apache or Nginx?

mpm_event:该模块与 worker 相似,区别在于 event 可以处理长连接(keep-alive),以避免线程被请求长期占用而造成资源浪费,同时也增强了高并发场景下的请求处理能力。

 Web 服务器如何选择 Apache or Nginx?

与 Apache 不同,Nginx 是通过异步的、非阻塞的、事件驱动的方式在实现的。Nginx 的工作进程是单线程的,每个线程可以异步的处理大量的用户请求。下面是 Nginx 的工作原理图:

 Web 服务器如何选择 Apache or Nginx?

2. 静态与动态内容的处理

无论是静态还是动态内容,Apache 都可以处理,Apache 具有内置的解析和执行各种动态脚本语言(包括 PHP,Python 和 Perl)的功能,无需借助外部处理器。

毫无疑问,动态内容处理恐怕是 Nginx 的痛点。Nginx 处理动态内容的效率并不高, 且需借助外部的处理器。所以如果您的站点具有很多动态功能,Apache 的表现可能会更切合你意。不过虽然与 Apache 相比 Nginx 的动态内容处理能力不佳,但其静态内容处理还是很高效的。

三、总结

Apache 拥有丰富的模块组件支持,稳定性强,BUG 少,动态内容处理强。

Nginx 轻量级,占用资源少,负载均衡,高并发处理强,静态内容处理高效。

存在即有道理,Apache 和 Nginx 作为 WEB 服务各有所长,个人认为二者并不存在将来谁会完全替代谁。关键在于用户要认真考虑清楚自己的应用场景,根据自己的需求和情况来斟酌选择哪个产品,适合自己的才是最好的。

更多 Apache 相关教程见以下内容

CentOS6.8 编译安装 Apache2.4.25、MySQL5.7.16、PHP5.6.29  http://www.linuxidc.com/Linux/2016-12/138993.htm

CentOS 6.6 下安装 Apache 2.2.31 http://www.linuxidc.com/Linux/2017-02/140803.htm

Apache 配置多站点访问及二级域名配置  http://www.linuxidc.com/Linux/2017-03/141339.htm

Ubuntu 16.04 LTS 安装 Apache2+PHP7.0+MySQL+phpMyAdmin 图文详解  http://www.linuxidc.com/Linux/2017-02/140098.htm

CentOS 6 下 Apache 和 Tomcat 整合  http://www.linuxidc.com/Linux/2017-04/143021.htm

Apache 启用 gzip 压缩模块节约网站带宽  http://www.linuxidc.com/Linux/2017-04/142821.htm

Apache 配置 https  http://www.linuxidc.com/Linux/2017-02/140801.htm

使用 Apache 搭建 Web 网站服务器  http://www.linuxidc.com/Linux/2017-05/143468.htm

Linux 下 Apache 安装及实例  http://www.linuxidc.com/Linux/2017-02/140800.htm

Apache2.4.6 服务器安装及配置  http://www.linuxidc.com/Linux/2017-01/140006.htm

Ubuntu 16.04 下搭建 Web 服务器(MySQL+PHP+Apache) 教程  http://www.linuxidc.com/Linux/2017-01/139570.htm

CentOS 7 下 Apache 2.4.18 编译安装详解  http://www.linuxidc.com/Linux/2017-03/142003.htm

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143706.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2401字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19348
评论数
4
阅读量
7820671
文章搜索
热门文章
开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南

开发者必备神器:阿里云 Qoder CLI 全面解析与上手指南 大家好,我是星哥。之前介绍了腾讯云的 Code...
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板1Panel:小白轻松构建Web服务与面板加固指南

云服务器部署服务器面板 1Panel:小白轻松构建 Web 服务与面板加固指南 哈喽,我是星哥,经常有人问我不...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...
4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

4盘位、4K输出、J3455、遥控,NAS硬件入门性价比之王

  4 盘位、4K 输出、J3455、遥控,NAS 硬件入门性价比之王 开篇 在 NAS 市场中,威...
这个开源软件130k的star数!让电脑轻松管理安卓手机的神器

这个开源软件130k的star数!让电脑轻松管理安卓手机的神器

这个开源软件 130k 的 star 数!让电脑轻松管理安卓手机的神器 大家好,我是星哥。今天给大家安利一款宝...
星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛NAS-4:飞牛NAS安装istore旁路由,家庭网络升级的最佳实践

星哥带你玩飞牛 NAS-4:飞牛 NAS 安装 istore 旁路由,家庭网络升级的最佳实践 开始 大家好我是...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛NAS-8:有了NAS你可以干什么?软件汇总篇

星哥带你玩飞牛 NAS-8:有了 NAS 你可以干什么?软件汇总篇 前言 哈喽各位玩友!我是是星哥,不少朋友私...
【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件

【开源神器】微信公众号内容单篇、批量下载软件 大家好,我是星哥,很多人都希望能高效地保存微信公众号的文章,用于...
如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的Nano Banana Pro?附赠邪修的用法

如何免费使用强大的 Nano Banana Pro?附赠邪修的用法 前言 大家好,我是星哥,今天来介绍谷歌的 ...
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装Black群晖DSM7.2系统安装教程(在Vmware虚拟机中、实体机均可)!

安装 Black 群晖 DSM7.2 系统安装教程(在 Vmware 虚拟机中、实体机均可)! 前言 大家好,...