原文地址:http://yananay.iteye.com/blog/200982
关键字: tomcat, iis, apache
关于应用服务器和web服务器的整合,有很多的资料了,可是都讲的半生不熟的。根据这几天整合tomcat 和 iis 的经验,再次聊聊这个话题。
首先我们应该对应用服务器和web服务器有一个清晰的概念。所谓的应用服务器,就是提供应用的服务器,这里的应用有很多,比如java应用,ruby 应用,或者 c#应用。
那么什么是web服务器呢?就是提供了web功能的服务器,主要就是http服务,包括图片的下载,等等一系列和web相关的。
好吧,你会问为什么我们不能直接使用应用服务器呢?应用服务器也提供了http服务,比如tomcat。
那么我们从实际出发。当你浏览一个网页的时候,什么情况下你会觉得速度很慢?我们仅仅考虑页面本身。那当然是图片越多显示得越慢。
好吧,我们至少认识到一点,一些静态资源,例如图片,会严重影响页面打开的速度。当然,这仅仅是一个方面。
那么web服务器有什么用呢?web服务器一个优点就是在处理静态信息上。例如一些静态的html,图片,等等其他静态的东西。
那为什么tomcat不能具备这些优点?这个问题我们可以换一个说法:为什么会计不能做市场营销呢?
所以嘛,大家要分工明确,应用服务器就做好它该做的:如何解释一个jsp,如何处理java文件等等,做好这一点就足够了。而web服务器也做好它该做的:如何快速向浏览器传递信息,如何快速地让浏览器下载图片。
那你又问了,那为啥tomcat还提供一个http服务?那不是让你开发方便嘛!千万别把tomcat的http服务当成是一个web服务器。
说了这么多,那么我们对应用服务器和web服务器的整合也应该心里有数了。就拿tomcat和iis整合来说事吧!
我们到底想干什么呢?很明显,我们想让tomcat 处理对 java应用的请求,而iis应该处理图片,css 等等其他静态资源的事情。
具体的细节不谈了,无非就是配置 ispai_redirect 这个东东。因为我们主要说的分工问题,所以还是说说这个 uriworkermap.properties 文件。
这个文件就是处理分工的用的。例如我定义成如下这个样子:
/www.abc.com/eshop/*.do=ajp13
/www.abc.com/eshop/dwr/interface/*=ajp13
/www.abc.com/eshop/dwr/*=ajp13
/www.abc.com/eshop/js/*=ajp13
那么就告诉了 isapi_redirect , 以上4种请求,都交给tomcat处理。
那么其他的请求呢?当然是交给 iis了。
如果我定义成这个样子:
/* = ajp13
这下可惨了,iis被你浪费了,就好像你招聘了一个会计和一个推销的人员,但是让会计干财务的活之外,还干了推销。而推销人员给闲置了。
至于 uriworkermap.properties 的详细配置,可以参考 tomcat 网站,上面有详细的讲解。
两种服务器的整合虽然不难,但是如果不明白其中的意义和原理,一旦项目配置有所变化,那就是没有葫芦就画不出来瓢了。
分享到:
相关推荐
附:关于web服务器和应用服务器的总结,很经典http://www.cnblogs.com/itech/archive/2009/08/18/1548860.html。 总结:以前对tomcat是什么服务器不是很清楚,现在了解了,原来应用服务区和web服务器只是一种概念,...
Linux下Tomcat与Apache Web服务器整合
JBoss是纯Java的Web应用服务器,为了保证JBoss服务器的正常运行,在安装JBoss之前首先要确保系统 已经安装了JDK。可以从http://labs.jboss.com/jbossas/downloads/ 下载最新JBoss应用服务器,本章选用JBoss 4.2.2.GA...
Spring整合Jetty服务器开发web应用的例程,通过Spring启动Jetty服务器’
Portal是基于Web的,以“应用整合”和“消除信息孤岛”为最终目的,提供单点登录、内容聚合、个性化门户定制等功能的综合信息系统。 完整的Portal通常由Portal服务器、Portlet容器、Portlet构成。 Portal服务器是...
整合apache和tomcat构建Web服务器.
IIS支持一些好玩的东西,象有编辑环境的界面(FRONTPAGE)、有全文检索功能的(INDEX SERVER)、有多媒体功能的(NET SHOW) 其次,IIS是随Windows NT Server 4.0一起提供的文件和应用程序服务器,是在Windows NT Server上...
Web 服务器压力(WAST)安装和例子(整合资料)
Linux下Tomcat与Apache Web服务器整合.doc
主要内容包括:讲解以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具的集成开发环境的构建过程;基于JSP、JavaBean、Servlet技术实现三种J2EE的基础架构;然后分四个篇章重点讲解Hibernate、Struts、Spring...
主要内容包括:以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具、CVS为版本控制工具的开发环境的构建过程;基于JSP、JavaBean、Servlet技术实现3种J2EE的基础架构;分3篇重点讲解Struts、Hibernate、Spring...
主要内容包括:讲解以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具的集成开发环境的构建过程;基于JSP、JavaBean、Servlet技术实现三种J2EE的基础架构;然后分四个篇章重点讲解Hibernate、Struts、Spring...
所使用的应用服务器是jboss 5.1和weblogic 11g,详细介绍了这两种应用服务器的安装和使用,以及如何在两大主流服务器上安装、部署java ee应用。 本书内容主要包括三部分,第一部分介绍java ee开发的基础知识,...
主要内容包括:讲解以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具的集成开发环境的构建过程;基于JSP、JavaBean、Servlet技术实现三种J2EE的基础架构;然后分四个篇章重点讲解Hibernate、Struts、Spring...
主要内容包括:以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具、CVS为版本控制工具的开发环境的构建过程;基于JSP、JavaBean、Servlet技术实现3种J2EE的基础架构;分3篇重点讲解Struts、Hibernate、Spring...
云服务器是,是一种基于WEB服务,提供可调整云主机配置的弹性云技术,整合了计算、存储与网络资源的Iaas服务,具备按需使用和按需即时付费能力的云主机租用服务。在灵活性、可控性、扩展性及资源复用性上都有很大的...
主要内容包括:以MySQL为数据库、Tomcat为Web服务器、Eclipse为开发工具、CVS为版本控制工具的开发环境的构建过程;基于JSP、JavaBean、Servlet技术实现3种J2EE的基础架构;分3篇重点讲解Struts、Hibernate、Spring...
掌握基于HttpClient、JSON数据交换的整合方式; 掌握JSON的基本知识、语法; 掌握开发服务器端生成JSON响应的Servlet; 掌握开发Android客户端界面; 掌握使用HttpClient发送请求、使用HttpClient获取服务器响应; ...
CXF WebServices整合SSH2和Uploadify上传控件的代码,本人已做测试能够跑通. 请把服务端和客户端部署在不同的Web应用服务器上.
SSM框架整合是将Spring、Spring MVC和MyBatis三个Java框架结合在一起,用于构建Web应用程序并实现与数据库的连接。通过配置数据库连接信息、数据源和MyBatis相关配置,以及使用事务管理器,实现数据操作的一致性和...