nginx与apache的区别及优缺点比较

本文绝大多数资料都是摘抄网上,自己做的只就是整合网上零散的资源然后加上自己的一点见解。简单的说apache httpd和nginx都是web服务器,但两者适应的场景不同,也就是两者专注于解决不同的问题。apache httpd:稳定、对动态请求处理强,但同时高并发时性能较弱,耗费资源多。nginx:高并发处理能力强、擅长处理静态请求、反向代理、均衡负载。

 1、nginx相对于apache的优点:轻量级,同样起web服务,比apache占用更少的内存及资源,并发能力强,nginx处理请求是异步非阻塞模式,而apache则是同步阻塞模式,在高并发下nginx能保持低资源低消耗高性能,高度模块化的设计,编写模块相对简单,社区活跃,高性能模块出品迅速。

apche相对于nginx的优点:rewrite能力比nginx强大,模块超多,基本想到的都可以找到。apache的bug相比于nginx较少,比较稳定。一般来说,需要性能的web 服务,用nginx 。如果不需要性能只求稳定,那就用apache。

同步、异步、阻塞和非阻塞区别:

(1)同步:所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。

(2)异步:异步的概念和同步相对。当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。

(3)阻塞:阻塞调用是指调用结果返回之前,当前线程会被挂起。函数只有在得到结果之后才会返回。有人也许会把阻塞调用和同步调用等同起来,实际上它们是不同的。对于同步调用来说,很多时候当前线程还是激活的,只是从逻辑上当前函数没有返回而已。

(4)非阻塞:非阻塞和阻塞的概念相对应,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

 2、nginx配置简单,apache配置复杂,nginx静态处理性能比apache高3倍以上,但对动态处理请求弱。apache对PHP支持比较简单,nginx需要配合其他后端用,apache的组件比nginx多,现在nginx才是web服务器的首选。

3、最核心的区别在于apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程。nginx与apache两者处理请求的模型不同,直接导致了两点:(1) nginx的抗并发能力强很多。(2)nginx对资源需求更少。

4、nginx与apache结合使用。nginx的负载能力强,静态处理性能高,可以用作前端负责进行抗并发、负载均衡、做静态文件缓存,apache相对稳定,可用作后端处理动态请求。

5、nginx处理动态请求是鸡肋,一般动态请求要apache去做,nginx只适合静态和反向。

6、nginx优于apache的主要两点:1.nginx本身就是一个反向代理服务器 2.nginx支持7层负载均衡;其他的当然,nginx可能会比apache支持更高的并发,但是根据NetCraft的统计,2011年4月的统计数据,apache依然占有62.71%,而Nginx是7.35%,因此总得来说,apache依然是大部分公司的首选。

 7、nginx配置文件简洁,正则配置让很多事情变得简单,运行效率高,占用资源少,代理功能强大,很适合做前端响应服务器。

8、作为 Web 服务器:相比 apache,nginx 使用更少的资源,支持更多的并发连接,体现更高的效率,这点使 Nginx 尤其受到虚拟主机提供商的欢迎。在高连接并发的情况下,nginx是apache服务器不错的替代品: nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50,000 个并发连接数的响应, 感谢nginx为我们选择了 epoll and kqueue 作为开发模型。nginx作为负载均衡服务器: Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务。nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.作为邮件代理服务器: nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验。nginx 是一个安装非常的简单 , 配置文件非常简洁(还能够支持perl语法), Bugs 非常少的服务器: Nginx 启动特别容易, 并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。

时间: 2024-10-24 19:27:06

nginx与apache的区别及优缺点比较的相关文章

简述Tomcat与Nginx,Apache的区别

我们在学习web架构中的服务时,一定都会碰到Tomcat与Nginx,Apache这三个服务,那么这三个服务有什么钱区别? 介绍去区别之前,我们需要先来认识一下什么是Tomcat与Nginx,Apache. 1. Apache Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上.其属于应用服务器.Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML.图片等,但可以通过扩展脚本.模块等支持动态页面等. (Apche可以支持PHP

tomcat 与 nginx,apache的区别

tomcat 与 nginx,apache的有什么区别 回答一: 题主说的Apache,指的应该是Apache软件基金会下的一个项目--Apache HTTP Server Project:Nginx同样也是一款开源的HTTP服务器软件(当然它也可以作为邮件代理服务器.通用的TCP代理服务器). HTTP服务器本质上也是一种应用程序--它通常运行在服务器之上,绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请求,这样客户端(一般来说是IE, Firefox,Chrome这样的浏览器

Nginx与Apache的区别

1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对于nginx 的优点: rewrite ,比nginx 的rewrite 强大 动态页面 模块超多,基本想到的都可以找到 少bug ,nginx 的bug 相对较多 超稳定 存在就是

web服务器之nginx和apache的区别

① apache属于重量级的服务器,nginx属于轻量级的服务器; 区别在于对一些功能的支持,比如:  pathinfo,php模块方面 ② nginx抗高并发能力强. 由于nginx采用的是异步非阻塞模式,而apache是阻塞模式; ③ nginx采用的是异步固定进程,而apache是同步多进程,一个连接对应一个进程; ④ nginx适合处理静态资源和反向代理,apache适合处理动态资源; ⑤ apache的重写模块比nginx要强大; ⑥ nginx支持平滑操作,在线升级; 扩展:常见的w

Nginx和Apache各自的优缺点

nginx 相对 apache 的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能 高度模块化的设计,编写模块相对简单 社区活跃,各种高性能模块出品迅速啊 apache 相对nginx 的优点: rewrite ,比nginx 的rewrite 强大 模块超多,基本想到的都可以找到 少bug ,nginx 的bug 相对较多 超稳定 优缺点: 1.作为

nginx相对于apache的区别

1.nginx相对于apache的优点:轻量级,同样起web 服务,比apache占用更少的内存及资源抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能高度模块化的设计,编写模块相对简单社区活跃,各种高性能模块出品迅速啊apache 相对于nginx 的优点: rewrite ,比nginx 的rewrite 强大动态页面模块超多,基本想到的都可以找到少bug ,nginx 的bug 相对较多 超稳定 存在就是理由,一般来说,

【nginx】nginx与apache的优缺点比较

参考: http://zyan.cc/nginx_php_v6/ nginx相对于apache的优点: 1.轻量级,同样的web 服务,比apache服务器占用更少的内存及资源 2.抗并发,nginx在处理请求是异步非阻塞的(epoll),而apache 则是阻塞型的(select),在高并发下nginx 能保持低资源低消耗高性能 3.高度模块化的设计,编写模块相对简单 4.apache是同步多进程模型,一个连接对应一个进程:nginx是异步的,多个连接(万级别)可以对应一个进程 apache

面试常问之——Nginx和Apache有什么区别?

Nginx抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能. Apache  rewrite ,比nginx 的rewrite 强大 , 存在就是理由,一般来说,需要性能的web 服务,用nginx .如果不需要性能只求稳定,那就apache 吧.后者的各种功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多.这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的

nginx和apache的优缺点比较

简单的说apache httpd和nginx都是web服务器,但两者适应的场景不同,也就是两者专注于解决不同的问题.apache httpd:稳定.对动态请求处理强,但同时高并发时性能较弱,耗费资源多.nginx:高并发处理能力强.擅长处理静态请求.反向代理.均衡负载.在这篇文章详细列出了apache与nginx的13个异同点,下面我们来一一分析其原理. 1.nginx相对于apache的优点: 轻量级,同样起web 服务,比apache 占用更少的内存及资源 ,抗并发,nginx 处理请求是异