首先我们来谈谈老朋友Apache,Apache HTTP Server(简称Apache)是世界使用排名第一的Web服务器软件,音译为阿帕奇,是Apache软件基金会的一个开放源码Web服务器,可以运行几乎所有的计算机平台,其次开放的API接口,任何组织和个人都可以在它上面扩展和增加各种需要功能,达到为自己量身定制的功能。再次是因为老,所有相关文档很齐全,甚至在windows平台很多爱好者都为它开发了各种图形界面,连菜鸟也能入手Apache。因为如此它迅速占领了70%的web服务器市场。

  现在咱们说说Nginx,Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。

  Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Rambler.ru 站点开发的。其次它和Apache一样是开源的,BSD-like 协议下发行。它最强劲也最具有竞争性为其高性能和反向代理,这两项在该领域独领风骚。

  在互联网初期,网站大小不是很大,访问量都很轻量,一个网站的访问量一天最多就几万IP,这个时候Apache完全可以满足需要,人们更多的是为它开发各种模块,像重写模块,访问控制列表,缓存模块等等。但是随着互联网的飞速发展,网站我访问量以指数增长,大型网站的除了加大硬件投入外,典型的Web服务器Apache这时候也力不从心了,于是Nginx开始崛起,最初的设计是俄罗斯工程师为大型网站解决高并发设计的。所以注定了高并发是它永恒的优点。再次就是反向代理,现在大型网站分工详细,哪些服务器处理数据流,哪些处理静态文件,这些谁指挥,一般都是用nginx反向代理到内网服务器,这样就起到了负载均衡分流的作用。再次nginx高度模块化的设计,编写模块相对简单。

  而我们的老朋友Apache比nginx又有什么优势呢,很多中小型网站都在用Apache,非常重要的原因是他出现时间较长,稳定,文档丰富,再次在重写方面相对nginx更强大,模块超多,基本只要你能想到的,就有人开发过。

面对这些优缺点,作为客户的我们该如何取舍呢?尽管nginx正在一步步取代Apache,市场份额也在不断增加,但是做为一个网站管理员,还是需要从如下几个方面作为出发点来选择适合自身的web服务器。

  第一、网站并发。如果是中小型网站,建议选用apache;如果大型并发,而且需要反向代理,选择nginx那是正确的选择。

  第二、如果需要大量用到重写模块,建议选用Apache。

  第三、根据熟悉程度。管理员书序Apache,但阅读和开发nginx能力有限,保守用Apache。

  第四、系统资源有限,但是自身技术很强大,建议用nginx,因为nginx对系统资源暂用极小,同资源下比Apache高了差不多10倍之多。

  所以小编建议各位在选择的时候不要一味追求市场选择或者推荐,而应该从实际出发,根据如上的参考意见谨慎选择适合自己的web服务器,盲目跟随只会使后期遭遇更多不必要的麻烦。

web服务器选择Apache还是Nginx的更多相关文章

  1. Web服务器☞Apache VS Nginx

    Web服务器☞Apache VS Nginx LZ最近公司有一个项目在Web服务器选型上,在Apache和Nginx之间引起了一些讨论.这两者目前都是业内优秀的web服务器,都实现了HTTP1.1协议 ...

  2. Web服务(Apache、Nginx、Tomcat、Jetty)与应用(LAMP、CMS-WordPress&Ghost、Jenkins、Gitlab)

    Web服务和应用是目前信息技术领域的热门技术.如何使用Docker来运行常见的Web服务器(包括Apache.Nginx.Tomcat等),以及一些常用应用(LAMP.CMS等).包括具体的镜像构建方 ...

  3. web网站——apache和nginx对比02

    nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理 ...

  4. [转]三大WEB服务器对比分析(apache ,lighttpd,nginx)

    原博文地址:http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 一.软件介绍(apache  lighttpd  ngin ...

  5. 三大WEB服务器对比分析(apache ,lighttpd,nginx)

    一.软件介绍(apache  lighttpd  nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点.lighttpd是众多 ...

  6. WEB服务器如何选择 Apache or Nginx?

    Web服务器是直接影响网站性能的关键因素,也是每个站长选择网站运营环境时必然考虑的问题.目前Web服务器市场产品众多,最为主流和代表性的当属Apache.Nginx以及微软的IIS.本文目的是通过Ap ...

  7. apache、nginx的虚拟域名配置和rewrite配置,以及web缓存的几种方式

    web缓存一般用来缓解数据库压力. 通常有几种方法,文件静态化,缓存服务memcached.redis等. 伪静态,一般指在url上貌似访问静态html页的形式,这样有利于搜索引擎访问到网站页面,实际 ...

  8. 转: 三大WEB服务器对比分析(apache ,lighttpd,nginx) (2008年的旧文,仅供参考之用)

    from:  http://www.blogjava.net/daniel-tu/archive/2008/12/29/248883.html 三大WEB服务器对比分析(apache ,lighttp ...

  9. Tomcat结合Apache、Nginx实现高性能的web服务器

    一.Tomcat为什么需要与apache.nginx一起结合使用? Tomcat虽然是一个servlet和jsp容器,但是它也是一个轻量级的web服务器.它既可以处理动态内容,也可以处理静态内容.不过 ...

随机推荐

  1. [Web API] Web API 2 深入系列(4) Action的选择

    目录 ApiController HttpActionDescriptor IHttpActionSelector ApiController 在上节中,讲到如何选择并激活对应的IHttpContro ...

  2. javascript作用域中令你意想不到的问题

    大多数类c的语言,由一对花括号封闭的代码块就是一个作用域.但是javascript的作用域则是通过函数来定义.在一个函数中定义的变量只对这个函数内部可见,我们称为函数作用域. 1.在函数中引用一个变量 ...

  3. Oracle循环中的EXIT、RETURN、CONTINUE解密

    有时候编写Oracle中用游标等信息去循环处理逻辑的时候,对EXIT.RETURN.CONTINUE很容易搞混淆,网上搜了资料也不是很清楚,所以本人自己写了一小段代码测试了这三种用法.案例代码如下: ...

  4. windows 下使用Nginx替代apache作为服务器

    说实话, 在windows下使用Nginx 着实有点不太方便, 但因项目需求, 又不想换系统(虽然可以搞个虚拟机玩), 只能用Nginx了 好了, 不多说了. 开始... 首先我用的是xampp包(A ...

  5. Windows 10 下mysql 安装后无法启动问题

    安装过程: 1. 官网下载5.15.7, http://dev.mysql.com/downloads/, 选择开源社区版:MySQL Community Server (GPL) 2. 我解压后放在 ...

  6. 数据见50条常用sql

    问题及描述: --1.学生表 Student(Sid,Sname,Sage,Ssex) --Sid 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 --2.课程表 Course ...

  7. 【http抓包】记录一次抓手机app的接口

    抓手机的接口地址,好用的工具很多,想 windows下的 Fiddler 和mac下的Charles 1. fiddler的设置教程是 http://jingyan.baidu.com/article ...

  8. CSS制作凹环特效

    就是在地面上打凿出凹的圆环效果,利用linear-gradient线性渐变增强内环质感,再用伪类after元素设置中心圆凸块的位置以及大小与跟内环之间的阴影度,然后设置内环的颜色就行了:第四个环上面的 ...

  9. jQuery实现页面内锚点平滑跳转

    平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以 ...

  10. Pro HTML5 Programming(Second Edition)2.Canvas API(1)

    1.在使用HTML5的Canvas元素时,考虑到有些浏览器不支持canvas元素,或是不支持HTML5 Canvas API中的某些特性,开发人员最好提供一份替代代码. 以下代码展示如何在canvas ...