原文地址: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 网站,上面有详细的讲解。
两种服务器的整合虽然不难,但是如果不明白其中的意义和原理,一旦项目配置有所变化,那就是没有葫芦就画不出来瓢了。
分享到:
相关推荐
【Linux下Tomcat与Apache Web服务器整合】 在互联网和企业网络应用中,Web技术占据了核心地位,TCP/IP协议和Web服务器是实现这一目标的关键组成部分。Linux操作系统因其稳定性和开源特性,成为了众多企业和开发者的...
Tomcat作为一款轻量级的应用服务器,广泛应用于Java Web项目的部署和测试,尤其对于初学者和小型项目来说,其简洁易用的特点使其成为首选。 首先,我们要了解Eclipse的基础知识。Eclipse是一个开源的、跨平台的开发...
Java流行服务器、框架、工具及整合应用》一书旨在为Java开发者提供一套全面的学习和实践指南,帮助他们掌握使用Struts进行Web开发的技能,理解与之相关的各种工具和技术,并能灵活地将它们整合到实际项目中,提升...
在Java Web开发中,Spring框架和Jetty服务器的整合提供了轻量级且高效的应用部署解决方案。这个例程展示了如何利用Spring来启动和管理Jetty服务器,以构建和运行Web应用程序。下面将详细介绍这一过程中的关键知识点...
1. 探讨了Lua语言在轻量级Web服务器设计中的应用,证明了Lua语言的易扩展性和整合性,可以与其他语言很好的融合在一起,实现各种各样的需求。 2. 设计并实现了一个轻量级的Web服务器程序,解决了传统Web服务器配置...
1. **整合IT基础设施服务器**:许多服务器(如Intel架构)运行基本IT应用,如文件和打印服务、活动目录、Web服务器等。尽管这些服务器的资源利用率普遍较低(10%-15%),但由于架构、安全和兼容性要求,它们通常需要...
在Android开发中,实现客户端与Web服务器的数据交换是一项常见的任务,尤其在移动应用需要与远程数据库交互时。本文将深入探讨“Android客户端远程登录Web服务器数据交换实例”,讲解如何使用MySQL数据库、JSON数据...
随着技术的发展,很多服务器产品开始整合Web服务器和应用服务器的功能,为用户提供更为全面和一体化的解决方案,比如Spring Boot框架中的内嵌Web服务器,以及一些现代应用服务器如WildFly提供的Web服务支持。...
4. **集成Web服务器**:将开发完成的应用部署到所选的Web服务器上,并进行测试。 5. **性能调优与部署**:在测试过程中对应用进行性能优化,并最终将其部署到生产环境中。 通过上述步骤,不仅可以深入理解Eclipse...
书中会详细解读这些标签的使用方法和应用场景。 7. **iBatis整合**:通过讲解iBatis的配置、SQL映射文件的编写以及如何在Struts中调用iBatis,帮助读者理解这两个框架的协作方式,从而更好地管理数据库交互。 8. *...
书中可能会讲解Tomcat、Jetty等Web服务器的配置和使用方法,以及如何打包和部署应用程序到生产环境中。 6. 安全性:随着互联网安全问题的日益突出,Java Web应用程序的安全性也越来越受到重视。所以,书中可能会...
在标题和描述中提到的“CA服务器和WEB服务器分离-如何实现SSL”可能意味着在两台不同的服务器上分别部署CA服务器和WEB服务器,并为WEB服务器实现SSL加密。通过SSL协议,可以确保客户端与WEB服务器之间的通信数据被...
综上所述,Nginx作为高性能Web服务器的代表,在多个方面都提供了强大的功能和稳定性。通过实战Nginx,开发者可以掌握它在不同场景下的安装、配置和优化,有效提升Web服务的质量和效率。随着Web服务的规模扩大和技术...
- **应用与Web负载**:相比之下,APP和WEB负载大多以单机模式部署于多台X86服务器上,这种部署方式不仅存在单点故障,而且由于X86服务器的RAS(Reliability, Availability, Serviceability)设计和操作系统稳定性...
Apache因其高效、稳定和安全的特点,成为许多网站首选的Web服务器。然而,对于处理动态内容,如JSP和Servlet,Apache的能力相对较弱。而Tomcat作为一个轻量级的应用服务器,专门用于运行这些动态内容。因此,将两者...
文章首先介绍了嵌入式系统的概念和发展趋势,然后详细阐述了LabVIEW在远程控制中的应用,最后对嵌入式Web服务器与LabVIEW的整合进行了详细的讨论和分析。 在工业控制系统中,嵌入式Web服务器可以将实时操作系统...
4. **iPlanet Application Server**:由 Sun Microsystems 和 Netscape 联盟的 iPlanet 公司开发,它是一个符合 J2EE 规范的应用服务器,能够处理复杂的 Web 应用程序和事务处理。iPlanet Application Server 提供高...
4. **IIS(Internet Information Services)配置**:为了运行ASP.NET应用和Office Web Apps,你需要配置IIS作为Web服务器。确保正确设置应用程序池、网站绑定、身份验证方法等。 5. **身份验证与授权**:在整合过程...