本文不包括IIS服务器,因为IIS只能运行在Windows上,而Apache和Nginx可以运行在各种平台上。一、分析两大服务器:1、ApacheApache是??世界排名第一的web服务器。根据netcraft进行的一项调查,全球超过50%的Web服务器都在使用Apache。1995年4月,Apache组发布了最早的Apache(0.6.2版)。Apache组是一个完全在Internet上运行的非营利组织,它确定ApacheWeb服务器的标准分发版中应包含哪些内容。任何人都可以修复错误、提供新功能并将其移植到新平台以及其他工作。当新代码提交给Apache组时,该组会审查其细节并对其进行测试,如果发现令人满意,则将代码集成到主要的Apache发行版中。Apache的特点:可以运行在几乎所有的计算机平台上支持最新的http/1.1协议简单而强大的基于文件的配置(httpd.conf)支持通用网关接口(cgi)支持虚拟主机支持http认证集成perl集成代理服务器可以监控通过网页浏览器查看服务器状态,并可自定义日志支持服务器端include命令(ssi)支持安全套接字层(ssl)跟踪用户会话进程支持fastcgi支持javaservlets2.NginxNginx由俄罗斯人编写Nginx是一个非常轻量级的http服务器,读作“engineX”,是一个高性能的http和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Nginx由俄罗斯人IgorSysoev开发,用于俄罗斯访问量第二大的Rambler.ru网站。Nginx是用事件驱动的方式写的,所以性能非常好,同时也是一个非常高效的反向代理和负载均衡。它具有匹配lighttpd的性能。Nginx作为http服务器,具有以下基本特性:处理静态文件、索引文件和自动索引;打开文件描述符缓冲,无需缓存的反向代理加速,简单的负载平衡和容错。fastcgi,简单的负载均衡和容错。模块化结构包括:gzip、字节范围、分块响应和过滤器,例如SSI-filter。如果单个页面上存在的多个SSI由fastcgi或其他代理服务器处理,则该处理可以并行运行,而无需相互等待。Nginx是专门为性能优化而开发的,性能是其最重要的考虑因素,在实现上非常注重效率。支持内核Poll模型,可承受高负载测试。报告显示它最多可以支持50,000个并发连接。Nginx具有很高的稳定性。对于其他http服务器,当遇到访问高峰,或者有人恶意发起慢速连接时,很可能会导致服务器物理内存耗尽,频繁交换,导致服务器失去响应,只能重启服务器。比如现在的Apache一旦达到200多个进程,web响应速度就明显很慢了。但是Nginx采用了分阶段的资源分配技术,这使得它的CPU和内存占用率非常低。Nginx官方说是维护10000个非活跃连接,它只占用2.5M内存,所以DDOS之类的攻击对Nginx来说基本没用。在稳定性方面。Nginx支持热部署。它非常容易启动,几乎可以24/7全天候运行,甚至几个月都无需重新启动。您还可以在不中断服务的情况下升级软件版本。2.两种网站服务器的比较:注:在一个比较大的网站中,节省的服务器成本无疑是客观的。而一些小网站往往没有多少服务器。如果用Apache之类的传统web服务器,貌似还能活下来。但也有明显的缺点:Apache在处理突发流量时很容易过载(比如爬虫或Digg效应),而Nginx最适合这种情况。建议方案:Apache后台服务器(主要处理php和一些功能请求如:中文url)Nginx前端服务器(利用其占用系统资源少的优势处理大量静态页面请求)Lighttpd图片服务器一般,加上Nginx功能的完善,将使他成为未来web服务器的主流。3、性能测试:分别测试动态页面和静态页面请求和并发两种软件的响应时间l静态页面NginxApachel动态页面内部社区主页NginxApachelPHPINFO功能页面NginxApache丢包
