常用的系统架构是:

Linux + Apache + PHP + MySQL

Linux + Apache + Java (WebSphere) + Oracle

Windows Server 2003/2008 + IIS + C#/ASP.NET + 数据库

IIS-Apache-Tomcat的区别 
IIS与Tomcat的区别

IIS是微软公司的Web服务器。主要支持ASP语言环境. 
Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的SJP语言环境容器,严格得说不能算是一个WEB服务器,而是Apache服务适配器。 
tomcat主要的任务不是WEB服务,而是支持JSP语言环境. 
IIS就是也款WEB服务器,支持ASP语言环境

Apache与Tomcat的区别

APACHE是一个web服务器环境程序 启用他可以作为web服务器使用 不过只支持静态网页. 但asp,php,cgi,jsp等动态网页的就不行. 
如果要在APACHE环境下运行jsp 的话就需要一个解释器来执行jsp网页, 而这个jsp解释器就是TOMCAT, 为什么还要JDK呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK 整合的好处是:如果客户端请求的是静态页面,则只需要Apache服务器响应请求如果客户端请求动态页面,则是Tomcat服务器响应请求因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 . 
apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展。 
Apache:普通服务器,本身只支持html即普通网页,它是html容器,功能像IIS一样 
tomcat:解释java程序(jsp,serverlet),它是是jsp/servlet容器,用于发布JSP及JAVA的 
apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),tomcat就是一个桶(装像JAVA这样的水),而这个桶也可以不放在卡车上。

1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。

2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。

3. Apache是普通服务器,本身只支持html即普通网页。不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)

4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。

5. Apache和Tomcat是独立的,在通一台服务器上可以集成。

IIS与 Apache的区别

对于中小企业来说建立自己的网站,对外展示自己的页面是最平常不过的事情了。目前最流行的建立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更加顺手。

**JSP=Java Server Pages (Java服务器网页)**ASP=Active Server Pages (活动服务器网页)**CGI=Common Gateway Interface (通用网关接口)**J2EE=Java 2 Platform, Enterprise Edition (Java2平台,企业版)**XML=eXtensible Markup Language (扩展标记语言)**IIS=Internet Information Server (互联网信息服务器) 

转载于:https://www.cnblogs.com/111testing/p/7078651.html

常用的系统架构 web服务器之iis,apache,tomcat三者之间的比较相关推荐

  1. web服务器之iis,apache,tomcat三者之间的比较

    IIS-Apache-Tomcat的区别  IIS与Tomcat的区别 IIS是微软公司的Web服务器.主要支持ASP语言环境.  Tomcat是Java Servlet 2.2和JavaServer ...

  2. 常用IT系统架构及DevOps介绍

    导读 随着业务需求的变化,IT系统架构也随之升级.新的架构对比之前的架构具有何种优势,又存在哪些问题需要解决?在架构演进的过程中,引入云.DevOps等方法,而这些方法又是如何解决架构中存在的问题,助 ...

  3. html5 云服务器搭建,云服务器CentOS系统搭建web服务

    腾讯云做活动,看比较便宜就搞了个服务器,配置如下: 标准型S2 CentOS 7.2 64位 1核 2GB 1Mbps 普通云硬盘 50G 我想要尝试写一些html,所以搭建了Apache web服务 ...

  4. 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列

    转载自   四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列 俗话说,站在巨人的肩膀上看世界,一般学习的时候也是先总览一下整体,然后逐个部分个个击破,最后形成思路,了解具体细节 ...

  5. 微服务、容器、DevOps三者之间的演进关系,你清楚吗?

    微服务.容器.DevOps三者之间的演进关系 容器的普及,带来了微服务架构和DevOps的高速发展. 1 微服务的弊端 1.1 测试.发布工作量剧增 单体应用拆分成多个微服务后,虽能实现快速开发迭代, ...

  6. 两大主流Web服务器之分析与对比

    转自:http://info.edu.hc360.com/html/001/023/003/29949.htm    长期以来,Apache和Microsoft的IIS一直统治着Web服务器市场最大的 ...

  7. 综合架构web服务之nginx详解

    文章目录 nginx 服务配置详细介绍 关于作者 前言 一.nginx web 入门简介 1.1 什么是nginx 1.2 常见的网站服务 1.3 nginx 网站服务特点 1.4 网站页面访问原理 ...

  8. Tomcat构建企业级高负载WEB服务器之部署jspgou商城

    目录 一.前言 1.什么是JAVA虚拟机 2.JAVA如何做到跨平台 二.Tomcat部署 1.名词解释(Java容器.Web容器.Web中间件) 2.官网地址 3.架构 4.部署(内存6-8G) 4 ...

  9. Web服务器之Nginx介绍

    一.Nginx简介 Nginx (engine x) 是一个高性能的Web和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服器.Nginx处理高并发能力是十分强大的,能经受高负载的考 ...

最新文章

  1. 早在公元前五百年,孙子就参透了数据库分区的真谛
  2. 恢复Oracle误删数据一点小记
  3. orb 算法源码实现
  4. sdut 2129树结构练习——判断给定森林中有多少棵树(并查集)
  5. oracle客户端工具_Oracle 发布基于 VS Code 的开发者工具,轻松连接 Oracle 数据库
  6. 使用Apache Commons Net SMTP以Java(和Android)发送邮件:STARTTLS,SSL
  7. 开发中为组件添加预览信息
  8. 爬取网易某只股票2017-01到2018-01的数据
  9. python里order什么意思_python中OrderedDict的使用方法详解
  10. 中英文对照 —— 英语语法与文法概念
  11. R语言之随机数与抽样模拟篇
  12. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-1.SpringBoot整合微信支付开发在线教育视频站点介绍...
  13. Hadoop权威指南:知识梳理(一)
  14. 下载Django中文官方文档
  15. 药剂学(专)-形考作业(一)答案
  16. 去掉首尾字符java_Java去除字符串首尾特定字符
  17. 毕业旅行下 徒步穿越腾格里沙漠
  18. 等一个人好累,爱一个人好苦
  19. 【手撕算法】FMM图像修复算法C++实现
  20. 互联网时代的IP技术

热门文章

  1. 新员工入职表_入职培训流程,五大步骤让员工顺利上岗,来之能战战之能胜
  2. SpringBoot中的定时任务的同步与异步
  3. RabbitMQ添加新用户并支持远程访问
  4. 已知一个点的经纬度、方位角、距离,求另一点经纬度
  5. PUT上传POC--Put2Poc.py
  6. Gartner:全球服务器虚拟化市场正在攀向顶峰
  7. Linux之cut命令
  8. 高级语言程序设计II 实验报告三c++使用文本文件和二进制文件的读写比较两者的区别和优劣...
  9. Jeasyframe 开源框架 V1.6 发布
  10. Hello,Views(五)自动填充文字AutoCompleteTextView(附源码)