常言道鱼与熊掌皆我所欲,两者不可兼得,那么有没有一种方法,可以做到鱼与熊掌兼得,配置同时支持Apache与IIS的Web服务器呢,今天我就介绍一下基于Windows Server 2003的同时在一个80端口支持Apache与IIS的方法。 安装的方法是,先安装IIS和Apache,配置Apache使用80端口,IIS使用8080端口。这样就可以使服务器同时支持多种脚本语言,一举多得,接着在Apache中修改httpd.conf文件,启用proxy_module和proxy_http_module,修改的内容是: LoadModule proxy_module modules/mod_proxy.so 在Apache的httpd.conf文件中增加如下几行: ProxyPass /php ! 然后在<Directory>中设置各个服务所在网站的目录权限,这样php目录即可跑apache,支持php和perl,而asp目录则跑IIS,全部都可共享80端口,一个端口同时支持Perl、PHP、ASP多种主流语言,兼容性很好,性能也不错。 另外,将上述命令放在<VirtualHost>中,可以实现不同的虚拟主机使用不同的Web服务器,同一个端口同样可以跑多个Web Server,这对于那些出售虚拟主机的人来说很有用,如果你想在一台Windows服务器上配置不同的Web服务的话也可以尝试一下。 Windows服务器下的IIS和Apache性能比较 既然Apache与IIS能共同存在于同一个Web服务器。那么他们之间到底哪个性能更好呢?到底哪个工具才是最适合我们的呢? 如果是基于Linux平台的话,那不必多说自然是Apache了,因为IIS只能在Windows环境下运行,而Linux+Apache的整体性能、安全性、通用性也都强于Windows 2003+IIS 6.0,不过如果在Windows 2003的服务器上,IIS 6.0和Apache 2.2到底哪个性能最好呢? 于是我们做了一个测试,在同型号的Windows 2003服务器上安装IIS和Apache,比较两者的性能,最基本的比较是静态HTML网页读取的比较,在我的测试之中,我发现Windows 2003下的IIS 6和Apache 2.2.6在静态HTML文件的处理性能上基本是相同的。 测试环境:三台不同的服务器,CPU分别是P4 2.8E超线程,至强5110,软件分别安装的IIS6和Apache 2.2.6.三台服务器都放了一个40K的HTML文档,使用WAS(Web Application Stress Tool),开100个线程对这三台服务器进行吞吐量处理测试,测试其每秒钟处理线程的能力(Requests per Second),测试时间为1分钟。 对于P4 2.8E,无论对于IIS和Apache,两者的点击数都基本上是250,每秒钟处理响应的数目大约为4.17.这说明对于静态HTML文件的处理能力,IIS和Apache在Windows平台下是基本相同的。 而Intel至强5110的测试数据就相差非常大,在IIS下点击数达到了1838,每秒钟处理响应的数目达到了30.63,几乎比前两台服务器高了7倍,这说明在同样的软件环境下,即使是入门级别的CPU,Intel至强服务器也具有远远超过普通奔腾服务器的性能。 因此得出结论,如果一个网站的大部分页面都是静态页面,并且是假设在Windows 2003服务器上的,那么IIS和Apache两者性能基本相同,要想提高网站的整体吞吐量,需要在服务器硬件上进行升级。 |
正在阅读:网管入门:鱼与熊掌兼得,让Web服务器同时支持Apache与IIS网管入门:鱼与熊掌兼得,让Web服务器同时支持Apache与IIS
2008-05-06 09:18
出处:PConline原创
责任编辑:heyaorong