再谈应用服务器和web服务器的整合
2008-06-13 20:15
302 查看
来源: yananay - JavaEye技术网站
关于应用服务器和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服务器的整合,有很多的资料了,可是都讲的半生不熟的。根据这几天整合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服务器的区别和整合
- 再谈应用服务器和web服务器的整合
- 再谈应用服务器和web服务器的整合
- 忘记apusic应用服务器web控制台admin密码怎么办?
- 容器、应用服务器和web服务器的区别
- ssh开发web应用中各个框架的作用以及整合配置步骤
- WEB 容器、WEB服务和应用服务器的区别与联系
- 1.Web 服务器和应用服务器的区别
- WEB 容器、WEB服务和应用服务器的区别与联系
- 论改进Web服务器性能的有关技术—论文1:银行业的应用
- web服务器和应用服务器的区别(the difference between an application server and a Web server)
- 修改apusic应用服务器web控制台admin登录密码
- JBoss 4.0.5 应用服务器WEB应用开发参考
- WEB服务器与应用服务器的区别
- 高性能Web服务器Nginx的配置与部署研究(13)应用模块之Memcached模块+Proxy_Cache双层缓存模式
- 基于Python Web应用的Web服务器之间的比较
- web服务器和应用服务器的区别以及负载均衡---学习笔记
- Linux下Web服务器应用之基于LAMP构建phpwind论坛
- Web服务器 之 Apache 2.x 服务器中的URL重写的配置和应用
- 一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系