Nginx 和 Apache 各有什么优缺点

 我来答
皇甫晓骞度莱
2019-03-05 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:28%
帮助的人:607万
展开全部
Apache

Nginx
是世界上最通用的两大开源Web服务器。他们正为超过50%互联网流量传输提供服务,两种解决方案都能处理各种的工作场景,并与其他软件协同工作,从而提供完善的Web技术栈。尽管
Apache

Nginx
有许多共通的特性,并不能将它们视为可以完全相互替代的。它们各有所长,了解使用场景对你重新评估选择你的web服务器非常重要。
Nginx
相对
Apache
的优点
轻量级,同样起
WEB
服务,比
Apache
占用更少的内存及资源抗并发,
Nginx
处理请求是异步非阻塞的,而
Apache
则是阻塞型的,在高并发下
Nginx
能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速
Apache
相对
Nginx
的优点
Rewrite
,比
Nginx

rewrite
强大模块超多,基本想到的都可以找到少
bug

Nginx

bug
相对较多超稳定
存在就是理由,一般来说,需要性能的
WEB
服务,用
Nginx
。如果不需要性能只求稳定,那就
Apache
吧。后者的各种功能模块实现得比前者,例如
ssl
的模块就比前者好,可配置项多。
这里要注意一点,
epoll
(
freebsd
上是
kqueue
)网络
IO
模型是
Nginx
处理性能高的根本理由,但并不是所有的情况下都是
epoll
大获全胜的,如果本身提供静态服务的就只有寥寥几个文件, Apache 的
select
模型或许比
epoll
更高性能。当然,这只是根据网络
IO
模型的原理作的一个假设,真正的应用还是需要实测了再说的。
如你所见,Apache

Nginx
都是很强力、灵活、能干的。决定哪个服务器对你来说最好,主要取决于什么功能可以解决你的特定需求,然后用你的方式去测试它。这两个项目在原生性能、功能,以及启动和运行每个解决方案所需的必要时间上有非常现实的冲突。然而,这些都是一系列取舍后的结果,不应该不假思索地随意使用。最后,没有通用的适合所有场景的
web
服务器,所以选择最切合你的目标的解决方案吧。
希望可以帮到你~~原文地址:http://www.xy26.cc/?post=194
威孚半导体技术
2024-08-19 广告
威孚(苏州)半导体技术有限公司是一家专注生产、研发、销售晶圆传输设备整机模块(EFEM/SORTER)及核心零部件的高科技半导体公司。公司核心团队均拥有多年半导体行业从业经验,其中技术团队成员博士、硕士学历占比80%以上,依托丰富的软件底层... 点击进入详情页
本回答由威孚半导体技术提供
我的宿舍有点热
2017-06-26 · 超过81用户采纳过TA的回答
知道小有建树答主
回答量:143
采纳率:0%
帮助的人:98.1万
展开全部
这个太长了,挑几个重点说一下:
apache优点:
1、守护进程相对稳定,重连机制做得好
2、跟php交互基本用module,在php上不用配置太多参数
3、相对nginx,重写(rewrite)支持更好
4、采用module,可拓展性更强,可以在任一阶段插入钩子增加灵活性。
apache缺点:
1、由于使用module形式加载,导致整个项目比较重
2、同步阻塞模型,容易导致进程阻塞无法正常访问
3、新加入的模型event据传性能相当不错,但目前官方称仍属于调试阶段,并不建议在生产环境使用。
nginx优点:
1、异步io处理模型,可以支持更高的并发
2、整体是个轻框架,反向代理一级棒(负载均衡)
3、采用php-fpm fastcgi模式连接php,负载量可以更大
nginx缺点:
1、守护进程由于给php-fpm做了,所以非常受限于php-fpm。一个输入参数可能会导致整个程序运行不下去
2、php-fpm要额外配置,排查问题多了一个环境需要排查
3、nginx可以执行rewrite,但性能没有apache那么好
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式