Apache与Nginx的优缺点比较

一、nginx相对于apache的优势:
php

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

rewrite ,比nginx 的rewrite 强大 前端

动态页面nginx

模块超多,基本想到的均可以找到
少bug ,nginx 的bug 相对较多

超稳定 git


存在就是理由,通常来讲, 须要性能的web 服务,用nginx 。若是不须要性能只求稳定,那就apache 吧。后者的各类功能模块实现得比前者,例如ssl 的模块就比前者好,可配置项多。这里要注意一点,epoll(freebsd 上是 kqueue )网络IO 模型是nginx 处理性能高的根本理由,但并非全部的状况下都是epoll 大获全胜的,若是自己提供静态服务的就只有寥寥几个文件,apache 的select 模型或许比epoll 更高性能。固然,这只是根据网络IO 模型的原理做的一个假设,真正的应用仍是须要实测了再说的。

二、做为 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不间断运行,即便运行数个月也不须要从新启动. 你还可以不间断服务的状况下进行软件版本的升级 .

三、Nginx 配置简洁, Apache 复杂
Nginx 静态处理性能比 Apache 高 3倍以上
Apache 对 PHP 支持比较简单,Nginx 须要配合其余后端用
Apache 的组件比 Nginx 多
如今 Nginx 才是 Web 服务器的首选

四、最核心的区别在于apache是同步多进程模型,一个链接对应一个进程;nginx是异步的,多个链接(万级别)能够对应一个进程

五、nginx处理静态文件好,耗费内存少.但无疑apache仍然是目前的主流,有不少丰富的特性.因此还须要搭配着来.固然若是能肯定nginx就适合需求,那么使用nginx会是更经济的方式. github

apache有先天不支持多核心處理負載雞肋的缺點,建議使用nginx作前端,後端用apache。大型網站建議用nginx自代的集群功能
web


六、从我的过往的使用状况来看,nginx的负载能力比apache高不少。最新的服务器也改用nginx了。并且nginx改完配置能-t测试一下配置有没有问题,apache重启的时候发现配置出错了,会很崩溃,改的时候都会很是当心翼翼如今看有好多集群站,前端nginx抗并发,后端apache集群,配合的也不错。apache



七、 nginx处理动态请求是鸡肋,通常动态请求要apache去作,nginx只适合静态和反向。

八、從我個人的經驗來看,nginx是很不錯的前端服務器,負載性能很好,在老奔上開nginx,用webbench模擬10000個靜態文件請求绝不吃力。apache對php等語言的支持很好,此外apache有強大的支持網路,發展時間相對nginx更久,

九、Nginx优于apache的主要两点:1.Nginx自己就是一个反向代理服务器 2.Nginx支持7层负载均衡;其余的固然,Nginx可能会比apache支持更高的并发,可是根据NetCraft的统计,2011年4月的统计数据,Apache依然占有62.71%,而Nginx是7.35%,所以总得来讲,Aapche依然是大部分公司的首先,由于其成熟的技术和开发社区已经也是很是不错的性能。

十、你对web server的需求决定你的选择。 大部分状况下nginx都优于APACHE,好比说静态文件处理、PHP-CGI的支持、反向代理功能、前端Cache、维持链接等等。在Apache+PHP(prefork)模式下,若是PHP处理慢或者前端压力很大的状况下,很容易出现Apache进程数飙升,从而拒绝服务的现象。

十一、能够看一下nginx lua模块:https://github.com/chaoslaw...apache比nginx多的模块,可直接用lua实现apache是最流行的,why?大多数人懒得更新到nginx或者学新事物

十二、对于nginx,我喜欢它配置文件写的很简洁,正则配置让不少事情变得简单运行效率高,占用资源少,代理功能强大,很适合作前端响应服务器

1三、Apache在处理动态有优点,Nginx并发性比较好,CPU内存占用低,若是rewrite频繁,那仍是Apache吧
相关文章
相关标签/搜索