还在为网站配置什么WEB服务器环境烦恼?别愁,让我们来了解一下各大网站的工程师们采用了怎样的服务器环境,以作参考:
使用站长之家提供的Gzip检测页面(http://tool.chinaz.com/Gzips/)可以方便的查询到网站是否进行了Gzip压缩,同时该页面还有一项强大的功能——查看目标服务器环境。
这个功能通过分析网站头部的标识实现。它能够通过表格的形式清晰方便的反映出目标网站的各项Header信息(包括Date,Server,Content-Type等),比浏览器自带的开发者工具要直观得多。因此,我们通过这个功能来盘点一下各大网络公司的网站服务器运行环境。当然,这个信息也可以通过页面HTTP状态查询(http://tool.chinaz.com/pagestatus/)得到。
PS:由于该统计结果仅通过分析网站传送给客户端的头文件来收集,故并非100%准确。统计结果仅供参考。以下测试排名不分先后,以编者想到的顺序为准。
测试1:站长之家官方网站(http://www.chinaz.com/)
使用的是基于Linux内核的CentOS操作系统和Apache。
测试2:百度(http://www.baidu.com/ 百度属于被屏蔽域名,为了满足好奇心,我们悄悄测试一下):
BWS:我想这个应该是Baidu Web Server的缩写。
测试3:谷歌(https://www.google.com/):
GWS:我想这个应该是Google Web Server的缩写。
测试4:某门户网站
Apache
测试5:淘宝(http://www.taobao.com/)
Tengine:Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。万网被收购后也使用了这个系统。
以下网站的测试为了节约篇幅,不再一一上图。
测试6:新浪(http://www.sina.com.cn/)Nginx
测试7:网易(http://www.163.com/)Nginx
测试8:PHP官网(http://www.php.net/)Nginx
测试9:腾讯(http://www.qq.com/)Squid
测试10:西部数码(http://www.west263.com/)IIS6.0
测试11:微软(http://www.microsoft.com/)IIS8.0
测试12:ALEXA(http://www.alexa.com/)Apache
测试13:雅虎(http://yahoo.com/)ATS:这个暂时无解。
测试14:维基百科(http://www.wikipedia.org/)Apache
测试15:亚马逊(http://amazon.com/)未知
测试16:WordPress中文(http://cn.wordpress.org/)Nginx
测试17:Typecho(http://typecho.org/)Linux内核Ubuntu系统下的Apache。
测试18:织梦CMS官网(http://www.dedecms.com/)IIS7.0
测试19:Discuz!官网(http://www.discuz.net/)Nginx
测试20:PayPal(https://www.paypal.com/)Apache
测试21:中国农业银行(http://www.95599.cn/)IIS7.5
测试22:中国工商银行(http://www.icbc.com.cn/)IIS6.0
测试23:中国银行(http://www.boc.cn/)IIS7.5
测试24:中国建设银行(http://www.ccb.com/)Apache
测试25:苹果公司(http://www.apple.com/)Apache
测试26:王轶的博客(http://wyr.me/)虽然没有写明,但自曝是安装在CentOS中的Nginx。
测试27:优酷(http://www.youku.com/)b28www2:暂时未知,可能是优酷自己定制的。
测试28:搜狐(http://www.sohu.com)SWS:我猜测这个可能是Sohu Web Server。
测试29:新华网(http://xinhuanet.com/)Nginx
测试30:中国电信(http://www.189.cn/)IBM_HTTP_Server
统计结果:
环境系统统计:
根据上述数据可以得出,目前Apache和Nginx以及IIS仍然是三大主流web服务器环境。本次测试的网站中有世界排名靠前的大型网站(如谷歌、百度),也不乏个人网站和知名程序的官方网站,各具代表性(部分知名网站由于特殊原因无法访问故不做测试)。
通过数据分析我们可以得出:大型网络公司有的自己定制了服务器环境,有的使用第三方提供的服务器环境,流量较大的网站都使用了镜像加速。GZIP压缩仅有某门户网站未使用。网站的编写语言也各有不同,其中主流网站以PHP为主,对安全性要求较高的银行网站大多使用了.NET(IIS)。由于Nginx与Apache可以共存,部分网站两者均有选用。
目前,由于Nginx与Apache各有优缺,所以在网络上以Nginx为主的集成环境主要有:LNMP、LNMPA。以Apache为主的集成环境主要有LAMP、LNMPA、XAMPP。
【LAMP代表Linux下Apache+MySQL+PHP这种网站服务器架构;LNMP代表的是Linux下Nginx+MySQL+PHP这种网站服务器架构。LNMPA代表的是Linux下Nginx+MySQL+PHP+Apache这种网站服务器架构,是结合LAMP与LNMP各自的优点而产生的新的网站服务器架构。XAMPP 则为win或linux下Apache+MySQL+PHP+PERL这种网站服务器架构。】
一般来说,Linux环境更为安全和稳定,常用的Linux有Ubuntu、CentOS、Red Hat等。而在.NET编写的网站程序中,Windows下IIS是首选,经过安全强化的.NET环境非常安全。在未安装网站程序的情况下服务器环境对内存的消耗上看:JAVA环境对内存的消耗很大,远超IIS,IIS的内存占用比Apache更多,而Apache比Nginx占用更多内存。从网站程序上来看,PHP和.NET是主流。
对于小内存的服务器,推荐在Linux环境中安装LNMP,或者在Windows环境中安装XAMPP。如果要配置居于IIS的.NET的服务器环境,要知道Windows2003所支持的.NET最高版本为4.0,高于4.0的版本必须安装在Windows2008或Windows2012的服务器版本中。
按照本人的服务器配置经验来看,CentOS系统不安装图形界面的情况下Nginx+MySQL+PHP的最低内存需求为128M,128M可以支持一个独立博客的运行。Ubuntu系统下Nginx+MySQL+PHP的最低内存需求为512M,xubuntu可能更低。而在Windows系统中,Windows2003至少需要512M内存,Windows2008至少需要1G内存,Windows2012虽然可以在512M内存情况下安装,但其要保证网站的稳定运行则至少需要1G内存(推荐高于4G内存再选用Windows2012)。
按照本人的服务器配置经验来看,CentOS系统不安装图形界面的情况下Nginx+MySQL+PHP的最低内存需求为128M,128M可以支持一个独立博客的运行。Ubuntu系统下Nginx+MySQL+PHP的最低内存需求为512M,xubuntu可能更低。而在Windows系统中,Windows2003至少需要512M内存,Windows2008至少需要1G内存,Windows2012虽然可以在512M内存情况下安装,但其要保证网站的稳定运行则至少需要1G内存(推荐高于4G内存再选用Windows2012)。