Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

Apache与IIS的优劣对比

[复制链接]
webcdn1 发表于 2008-5-16 21:23:37 | 显示全部楼层 |阅读模式
Apache与IIS的优劣对比
对于中小企业来说建立自己的网站,对外展示自己的页面是最平常不过的事情了。目前最流行的建立WWW服务工具就要属Apache与IIS了。那么他们之间都有什么区别呢?到底哪个工具才是最适合我们的呢?今天就来讨论下这个问题。

一、免费与收费之争:

虽然很多用户都使用IIS建立网站,他是集成于Windows操作系统中的组件。不过要想合法使用IIS就要购买正版Windows操作系统。

反观Apache,他是完全免费的。不需要支付任何费用就可以免费下载并使用了。

结论——Apache免费,IIS收费,前者占优。

二、稳定性:

接下来要比较的就是稳定性了,WWW服务要随时运转正常,一个网站也需要一天24小时,一周七天为公众开放。所以稳定性是IIS和APACHE比较的重点。

IIS在实际使用中经常出现500错误,而且有的时候还会出现莫名其妙的假死现象。用户需要不定期的重新启动IIS服务才能保证网站的正常。

Apache在配置上比IIS要复杂,不过一经设置完毕就可以长期的工作了。大型网站都使用APACHE作为自己的WWW服务提供工具。APACHE的所有配置都保存在配置文件中,使用时完全按照配置文件中记录的信息执行。一般不会发生莫名其妙的假死情况。

小提示:在windows2003系统下使用IIS比用APACHE性能要好。

结论——APACHE稳定,IIS有时假死,前者占优。

三、扩展性:

扩展性是指WWW服务提供工具是否可以应用于多种场合,多种网络情况,多种操作系统。

IIS只能在微软公司的windows操作系统下使用,离开了windows他将一事无成。无法移植到其他类型的操作系统中。

APACHE是个多面手,他不仅仅应用于windows,对于unix,linux以及freebsd等多种操作系统来说他都可以胜任工作。而且不同操作系统的配置步骤基本类似,可移植性非常高。

结论——IIS只能在windows下运行,apache应用范围广。apache获胜。



四、安全性:


经常看到某某网站被黑客攻击或者某某网站被非法用户上传病毒的消息,对于为其他人提供服务的站点来说,安全性是最重要的。如果一个网站连自身安全都没有保证的话,谁愿意浏览和使用呢。

早期的IIS在安全性方面存在着很大的问题,如果使用默认设置的话黑客可以轻松趁虚而入。不过在IIS6中微软公司对安全方面进行了大幅改进。只要保证操作系统补丁更新及时,就可以将网站安全系数尽可能的提高。特别是IIS6与.net平台相互倚靠,使安全性几乎完美。

APACHE在安全方面一直做的不错,因为很多用户都是在linux下使用apache,所以操作系统的特点使得linux下的apache具有先天的保护伞,安全性自然没得说。

结论——IIS6以前的版本有安全隐患,IIS6和APACHE一样安全可靠。IIS6与APACHE打个平手。

五、开放性:

所谓开放性就是指是否开放了程序的源代码,众所周知IIS是WINDOWS系统的一部分,所以他的源代码是没有开放的。而apache则不同,最早他是为了类unix系统服务的,所以完全对外开放源代码。任何人都可以分析他的代码,发现其中的漏洞,并发布补丁来弥补该漏洞。

正因为APACHE的这种开放性,也使其安全性大大提高。

结论——IIS不开放代码,APACHE开放源代码。后者获得胜利。

六、难易性:

一个工具使用的难易程度直接影响其用户的多少,特别是网页发布工具。毕竟很多公司希望有自己的网站,但又不希望聘请高薪的网络管理员来维护。因此必然找上手相对容易的工具来搭建自己的站点。

IIS开起来比较简单,很容易就可能让IIS工作,对外发布网站。不过管理员很容易出现错误配置和误操作问题。不过总体说来IIS还是非常容易学的,但要学好他恐怕是件非常困难的事。

APACHE的使用比IIS要难,需要有一定计算机及网络基础的人才可以使用。他的配置也不是图形化的,需要我们通过编辑配置文件来实现。但是单从APACHE的设置上讲,只要我们严格按照帮助文件进行参数设置的话还是没有什么难度的。

结论——IIS容易安装但难精通,APACHE安装相对困难,要想精通也不是一件容易的事。IIS略占优势。
七、编程性:


为了让网页更加丰富多采,更加美观,互动性更好,高手为我们开发了多种组件与控件,那么这些控件在IIS或APACHE下是否正常运行呢?

APACHE下的Mod Rewrite功能非常强大,而IIS中的ISAPI的Rewrite需要专门开发,一般初学者是不能够实现的。APACHE可以使用Subversion WebDev以及.htaccess功能,还可以使用ForceType。另外IIS对FastCGI的支持也不是很好,所以一些CGI、PHP程序运行起来速度很慢,远不如apache。

结论——不同的环境下使用不同的组件,因为选择IIS还是APACHE由工作环境所决定,这点两者不分高下。

八、支持语言方面:

由于目前建立网站和论坛的语言多种多样,例如ASP,PHP,JSP等语言。那么IIS和APACHE对他们都支持吗?

IIS对ASP特别是.net运行很稳定,不过对于PHP和JSP就比较麻烦了。PHP需要经过反复配置才能在windows2003上支持。APACHE则能够很好的支持上面提到的几种语言,运行ASP,PHP,JSP都没有任何问题。

结论——APACHE支持语言比较多,IIS支持PHP和JSP时有点麻烦,需要经过一定的配置。APACHE获胜。

九、待遇方面:

提到待遇方面可能很多读者会比较纳闷,怎么IIS和APACHE还存在待遇问题呢?其实我们这里要讨论的是网络管理员的待遇。一个会IIS的网络管理员与一个会APACHE的网络管理员,他们的薪水是不一样的。

APACHE最大的好处就是配置参数多,如果要精通APACHE需要很高的水平。所以同等水平的网络管理员会APACHE的要比会IIS的待遇更好。

结论——钱多是获胜的唯一标准,APACHE占优。

总结:

其实今天我们在这里争论IIS好还是APACHE好是没有很大意义的,本文所进行的比较也只是给那些徘徊在网络管理员路口,不知道学习哪个工具来建立网站的读者一点参考。只有你对IIS和APACHE有了一个大概的了解之后,才能为自己的未来进行规划。

总的来说Apache的优点在于在各种开源的WWW服务提供工具中特性最全,支持最广,相对比较稳定的,而且扩展性丰富。不过正因为要考虑扩展性,性能就肯定不会太高,只能保持一个中等的水平。而IIS6在处理连接及事件性能方面还是很强大的,超过了APACHE。另外安全方面IIS6也有了质的飞跃,弥补了以往IIS漏洞漫天的缺陷。如果你的公司网络环境不负责,没有涉及太多的开发的话建议仍然使用IIS6。当然如果是建立在WWW上的开发和调试还是使用APACHE更加顺手。




七、编程性:


为了让网页更加丰富多采,更加美观,互动性更好,高手为我们开发了多种组件与控件,那么这些控件在IIS或APACHE下是否正常运行呢?

APACHE下的Mod Rewrite功能非常强大,而IIS中的ISAPI的Rewrite需要专门开发,一般初学者是不能够实现的。APACHE可以使用Subversion WebDev以及.htaccess功能,还可以使用ForceType。另外IIS对FastCGI的支持也不是很好,所以一些CGI、PHP程序运行起来速度很慢,远不如apache。

结论——不同的环境下使用不同的组件,因为选择IIS还是APACHE由工作环境所决定,这点两者不分高下。

八、支持语言方面:

由于目前建立网站和论坛的语言多种多样,例如ASP,PHP,JSP等语言。那么IIS和APACHE对他们都支持吗?

IIS对ASP特别是.net运行很稳定,不过对于PHP和JSP就比较麻烦了。PHP需要经过反复配置才能在windows2003上支持。APACHE则能够很好的支持上面提到的几种语言,运行ASP,PHP,JSP都没有任何问题。/

结论——APACHE支持语言比较多,IIS支持PHP和JSP时有点麻烦,需要经过一定的配置。APACHE获胜。

九、待遇方面:

提到待遇方面可能很多读者会比较纳闷,怎么IIS和APACHE还存在待遇问题呢?其实我们这里要讨论的是网络管理员的待遇。一个会IIS的网络管理员与一个会APACHE的网络管理员,他们的薪水是不一样的。

APACHE最大的好处就是配置参数多,如果要精通APACHE需要很高的水平。所以同等水平的网络管理员会APACHE的要比会IIS的待遇更好。

结论——钱多是获胜的唯一标准,APACHE占优。

总结:

其实今天我们在这里争论IIS好还是APACHE好是没有很大意义的,本文所进行的比较也只是给那些徘徊在网络管理员路口,不知道学习哪个工具来建立网站的读者一点参考。只有你对IIS和APACHE有了一个大概的了解之后,才能为自己的未来进行规划。

总的来说Apache的优点在于在各种开源的WWW服务提供工具中特性最全,支持最广,相对比较稳定的,而且扩展性丰富。不过正因为要考虑扩展性,性能就肯定不会太高,只能保持一个中等的水平。而IIS6在处理连接及事件性能方面还是很强大的,超过了APACHE。另外安全方面IIS6也有了质的飞跃,弥补了以往IIS漏洞漫天的缺陷。如果你的公司网络环境不负责,没有涉及太多的开发的话建议仍然使用IIS6。当然如果是建立在WWW上的开发和调试还是使用APACHE更加顺手。

[ 本帖最后由 webcdn1 于 2008-5-16 21:40 编辑 ]
 楼主| webcdn1 发表于 2008-5-16 21:33:28 | 显示全部楼层
如果是php,那么就一定要linux+apache,因为只有linux/unix才支持php管理内存/缓冲,iis不行
回复

使用道具 举报

billypon 发表于 2008-8-26 18:00:12 | 显示全部楼层
一看就知道是一傻X在这乱说话,不懂装懂

1、优势与劣势,不应该一收费免费作为判断依据。因为收费不收费,不影响使用,只是你是否去用而已。对于有钱人,这问题根本就不存在。而在当今这个番茄花园满天下的世界上,这个收费的问题就几乎可以忽略掉。企业就别谈这问题了,都不知道可以买多少套了,照样可以忽略。
2、所谓的稳定,最重要的还是看在运行同一样的脚本的情况下,程序是否能长时间不出错。IIS稳定性确实不及APACHE,可是那些500错误都是用户自己的脚本搞的,90%都与IIS无关。
3、所谓扩展性,与可移植性不同。你怎么举着“扩展性”的牌子去说“可移植性”,明显是乱说一通。
4、这个不用说了,地球人都知道APACHE占优。不过如果APACHE是因为LINUX的关系而占优,那么这个就不是他的优势了,只是沾光而已,不作为判断依据。
5、开放性分两种:一种是源码开放,一种是使用开放。源码开放你说了,我不重复了。使用开放,就是类似.htaccess这个文件这样,IIS就没这好处了。不过,源码开发对安全性带来的冲突,不可以忽视的。因为人家研究出来的漏洞可不是全部都公布出来的,做程序和安全方面的人都知道。
6、易用性IIS是绝对的占优,你却说IIS略占优?偏袒了APACHE吧。
7、你的所谓编程性真的是狗P不通啊,那也叫编程性?里面一点程序代码都没有好不好,.htaccess完全就是一个配置文件而已。那些Rewrite也都是些模块,哪来的编程性?从开放性与编程性来说,IIS应该可以加分。编写IIS的模块等一系列东西,都比APACHE简单,因为开发工具的问题,纯粹沾光。
8、支持语言方面,可以说APACHE能支持的,IIS基本都支持。我配置个IIS+PHP可是很简单的,不知道你为啥就说那么难?我都这样配置好几年了,只是不常用而已。况且,APACHE+ASP兼容与稳定性还得重新考虑一下。
9、待遇方面,不说了,地球人都知道,IIS管理员都是不值钱的。

最后最后,你还说APACHE的调试比IIS容易?你都可以回火星去了,是个web开发人员都知道IIS调试比APACHE简单多了,因为开发工具继承的调试功能,直接支持的,APACHE可没那么好的事。


综上所述,LZ要么是从火星来了,要么是偏袒了APACHE。

当然,我也比较喜欢APACHE,我也支持APACHE。

但我不会因此而偏袒了APACHE,那样太IIS太不公平了。

该是APACHE的劣势,我就大胆地说,APACHE在XX方面确实比不上APACHE。
回复

使用道具 举报

junsan 发表于 2008-9-7 22:37:55 | 显示全部楼层
(::24::)
回复

使用道具 举报

dzmimi 发表于 2008-9-11 09:12:18 | 显示全部楼层
我支持反方,我认为那种好用,实用就行了,我还是喜欢用IIS操作简单,叫a那个搞不来
回复

使用道具 举报

ewinds 发表于 2008-9-13 18:22:44 | 显示全部楼层
顶3楼的。
回复

使用道具 举报

592ZN 发表于 2008-9-20 08:24:10 | 显示全部楼层
呵呵,都是高手,学习了!~
回复

使用道具 举报

ivytony 发表于 2008-9-21 07:28:56 | 显示全部楼层
i use Lighttpd as webserver. Apache is too hungry for resources!!!!!!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-11-18 20:23 , Processed in 0.026733 second(s), 3 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表