`
jimmy.shine
  • 浏览: 390551 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Tomcat与apache的连接

阅读更多

上次做的项目,使用的是apache做为前台服务器,接收浏览器发送过来的请求,通过jk连接转发给后台的tomcat处理。
一直不明白布署的那位仁兄为什么要这么做。我曾经问过这位仁兄,其说看过一些文章,说tomcat对于静态页面的处理效率不高,而apache的处理效率比较高,所以就这么做。而jk连接器的配置就是从网上抄了一个过来。
原来服务器一直相安无事,这个系统是给国内的一个比较有名的投资公司做的。前几天,对方突然要求我们开发一个相册的功能,来处理集体活动的照片。
于是按照要求写了一个。布署上去后,前一天倒还无事,原来设计中是一页只显示了12张照片的缩略图。后来对方要求多加一点,于是改到了48,结果问题来了,经常是莫名其妙的,服务器就处理不了请求了,查看了一个程序,确认不是程序的问题。
最让人觉得费解的是居然没有发现服务器有Crash的日志,也就是说服务器本身并没有crash掉。于是不解。郁闷了半天,查找了服务器上是否有病毒,(前一次就是有病毒,导致服务器效率奇低,痛恨使用Windows来布署服务器),没有发现系统进程中有可疑的进程。
于是打电话与那位仁兄交流,那位仁兄的意见还是将静态的东西交由Apache来处理,说可以将相册的图片的显示交由静态服务器来做。
在详细询问了jk的配置的时候,突然发现了对于tomcat的最大连接数配置的是150,也就是说tomcat同时能够处理150个请求,而jk的连接数也只有150,也就是说jk也只可以转发150个讨还到tomcat,这一点倒是吻合。前台的apache的倒是可以处理挺多的请求的。于是细问了这个仁兄一句, 为何这样配置?仁兄的答案是都是这样配置的。
于是细一想,不对啊,我现在如果请求一个相册中的照片,即打开一个相册,我至少就会提交了1+48=49个请求,如果再同时多点击几次,不是一下就到达了150吗?难怪会出现不响应的现象。一想,应当是apache接收了请求后,想通过jk交由tomcat可是后二者的连接数都已经满了,不处理完之前无法处理,所以就造成了这种现象出现了。
于是马上加班改,将图片交由前台的apache直接管理,幸好是图片没有权限的控制,是大家都能看的。不会出现权限的问题。

最后得出一个结论,在配置这些之前,一定要搞清楚原理啊。盲目的抄了网上的东西,或者是照本宣科,套用一句俗气的电影台词:“出来混,早晚都要还的!”

分享到:
评论
8 楼 lxiao168 2007-05-10  
好帖,頂
7 楼 jimmy.shine 2007-05-09  
回quaff:
如果是如你所想,也是可以的,使用ajax的方式去处理,不过这与apache就没有任何关系了,只是在浏览器没有显示出真正的url而已。
6 楼 quaff 2007-05-09  
jimmy.shine 写道
回quaff:
明白你所说的实现方式。其实apache与tomcat服务器通过jk连接的道理很简单,就是jk作为一个分发器,根据定义的规则将部分请求发送到tomcat服务器。
而目前就我理解来说,匹配方式就是通过对于请求的url进行解析。说穿了,就是解析字符串,要想解决你所说的权限的问题,就要如何在url的匹配解析层次上进行分发。

现在要的就是url的pattern是一样的,所以利用url的匹配是做不到的,一般情况下apache找不到资源就是返回404,不知道有没有什么方法可以让apache找不到这个资源的时候转发给tomcat
5 楼 jimmy.shine 2007-05-09  
回quaff:
明白你所说的实现方式。其实apache与tomcat服务器通过jk连接的道理很简单,就是jk作为一个分发器,根据定义的规则将部分请求发送到tomcat服务器。
而目前就我理解来说,匹配方式就是通过对于请求的url进行解析。说穿了,就是解析字符串,要想解决你所说的权限的问题,就要如何在url的匹配解析层次上进行分发。
4 楼 quaff 2007-05-08  
jimmy.shine 写道
回quaff
apache本身是一个表态的服务器,是无法处理权限的问题的,如果是5.5以上的tomcat服务器,本身将静态的显示交由tomcat去处理也是可以的,因为5.5已经引入了新的机制,在处理静态图片的效率高于5.0 70%-80%;
所有的动态权限的处理都逃不开要实施一个拦截过程。

我知道apache是无法处理权限问题,我想这样,把a和b放到pic文件夹,这个文件夹通过apache来访问,c不放到这个文件夹里面,但是访问的路径是一样的,也是/pic/c.jpg,这个要交给tomcat来处理,最终想要的就是同一个pattern下的url有的是apache服务有的是tomcat服务,不知道怎么能做到这样
3 楼 jimmy.shine 2007-05-08  
回quaff
apache本身是一个表态的服务器,是无法处理权限的问题的,如果是5.5以上的tomcat服务器,本身将静态的显示交由tomcat去处理也是可以的,因为5.5已经引入了新的机制,在处理静态图片的效率高于5.0 70%-80%;
所有的动态权限的处理都逃不开要实施一个拦截过程。
2 楼 quaff 2007-05-08  
<br/>
<strong>jimmy.shine 写道:</strong><br/>
<div class='quote_div'>
<p>上次做的项目,使用的是apache做为前台服务器,接收浏览器发送过来的请求,通过jk连接转发给后台的tomcat处理。<br/>
一直不明白布署的那位仁兄为什么要这么做。我曾经问过这位仁兄,其说看过一些文章,说tomcat对于静态页面的处理效率不高,而apache的处理效率比较高,所以就这么做。而jk连接器的配置就是从网上抄了一个过来。<br/>
原来服务器一直相安无事,这个系统是给国内的一个比较有名的投资公司做的。前几天,对方突然要求我们开发一个相册的功能,来处理集体活动的照片。<br/>
于是按照要求写了一个。布署上去后,前一天倒还无事,原来设计中是一页只显示了12张照片的缩略图。后来对方要求多加一点,于是改到了48,结果问题来了,经常是莫名其妙的,服务器就处理不了请求了,查看了一个程序,确认不是程序的问题。<br/>
最让人觉得费解的是居然没有发现服务器有Crash的日志,也就是说服务器本身并没有crash掉。于是不解。郁闷了半天,查找了服务器上是否有病毒,(前一次就是有病毒,导致服务器效率奇低,痛恨使用Windows来布署服务器),没有发现系统进程中有可疑的进程。<br/>
于是打电话与那位仁兄交流,那位仁兄的意见还是将静态的东西交由Apache来处理,说可以将相册的图片的显示交由静态服务器来做。<br/>
在详细询问了jk的配置的时候,突然发现了对于tomcat的最大连接数配置的是150,也就是说tomcat同时能够处理150个请求,而jk的连接数也只有150,也就是说jk也只可以转发150个讨还到tomcat,这一点倒是吻合。前台的apache的倒是可以处理挺多的请求的。于是细问了这个仁兄一句, 为何这样配置?仁兄的答案是都是这样配置的。<br/>
于是细一想,不对啊,我现在如果请求一个相册中的照片,即打开一个相册,我至少就会提交了1+48=49个请求,如果再同时多点击几次,不是一下就到达了150吗?难怪会出现不响应的现象。一想,应当是apache接收了请求后,想通过jk交由tomcat可是后二者的连接数都已经满了,不处理完之前无法处理,所以就造成了这种现象出现了。<br/>
于是马上加班改,将图片交由前台的apache直接管理,幸好是图片没有权限的控制,是大家都能看的。不会出现权限的问题。<br/>
<br/>
最后得出一个结论,在配置这些之前,一定要搞清楚原理啊。盲目的抄了网上的东西,或者是照本宣科,套用一句俗气的电影台词:“出来混,早晚都要还的!”</p>
</div>
<br/>
如果图片有权限问题怎么处理?比如有图片a.jpg,b.jpg,c.jpg,其中a和b是公开的,c是要验证权限的,他们访问的url必须一致/pic/a.jpg, /pic/b.jpg, /pic/c.jpg,我希望a和b是交给apache来处理,c让tomcat来处理,不知道有没有办法让apache在找不到c.jpg的情况下再转发给tomcat?
1 楼 lijie250 2007-05-07  
其实我对这个问题也一直没想通,总感觉这种连接的效率不高,其实APACHE和TOMCAT配合还有其他方式,我在一本书上看到了比这个好的方法!不过今天看了你的文章还是学了点,谢谢!

相关推荐

    Tomcat 与 Apache 连接器集成

    OSSEZ Tomcat 与 Apache 连接器集成配置方法。

    apache-tomcat-7.0.75.zip

    不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像asp,php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache...

    apache-tomcat-6.0.29

    apache是普通服务器 本身只支持html即普通网页 不过可以通过插件支持php 还可以与Tomcat连通 单向Apache连接Tomcat 就是说通过Apache可以访问Tomcat资源 反之不然 Apache只支持静态网页 但像asp php cgi jsp等动态...

    Apache与Tomcat的几种连接方式介绍

    Apache与Tomcat的几种连接方式介绍 Apache与Tomcat的连接方式是Web开发中非常重要的一部分。Tomcat本身已经提供了HTTP服务,该服务默认的端口是8080,但我们仍然需要引入Apache或其他专门的HTTP服务器来提高静态...

    apache-tomcat-7.0.57

    不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件...

    整合APACHE和TOMCAT的连接器

    整合APACHE和TOMCAT的连接器。Tomcat可以独立作为Web服务器运行,但是Tomcat的Web功能远没有Apache强大。在实际应用中,通过mod_jdk连接器(Connectors)将Apache和Tomcat整合在一起。通过连接器调用Tomcat服务的...

    mod_jk2.so apache+tomcat 连接器

    apache+tomcat的连接器。 整合Tomcat5.0和Apache2.0的连接器、中间件。

    Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    Apache HTTP Server 与 Tomcat 的三种连接方式介绍Apache HTTP Server 与 Tomcat 的三种连接方式介绍

    apache-tomcat-6.0.48

    不仅可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件...

    Apache连接Tomcat配置ssl

    apache和tomcat整合配置 ssl

    Apache集群部署 与tomcat的连接包

    Apache集群部署 与tomcat的连接包 Apache集群部署 与tomcat的连接包 Apache集群部署 与tomcat的连接包

    Apache HttpServer 2.4.X 和tomcat连接器

    Apache HttpServer 2.4.X 和tomcat连接器,对应Apache HttpServer 2.4.X的64位版本。

    apache-tomcat-7.0.54.zip

    不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件...

    apache-tomcat-10.0.16-windows-x64.zip

    不仅可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件...

    apache tomcat 连接器

    apache tomcat 连接器,整合apache2.2.*与tomcat5.*

    图解Apache Tomcat连接mysql5

    图解Apache Tomcat连接mysql5

    apache-tomcat-9.0.22-windows-x64.zip

    不过可以通过插件支持php,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源。反之不然)。Apache只支持静态网页,但像php,cgi,jsp等动态网页就需要Tomcat来处理。 Tomcat是由Apache软件...

    tomcat_apache共享动态连接库

    LoadFile modules/libz.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authn_dbm_module modules/mod_authn_dbm.so LoadModule authn_anon_module modules/mod_authn_anon.so ...

    Apache_HTTP_Server_与_Tomcat_的三种连接方式介绍.doc

    Apache_HTTP_Server_与_Tomcat_的三种连接方式介绍.doc

    apache-tomcat-7.0.20.zip

    Apache Tomcat的团队宣布的Apache Tomcat 7.0.20的即时可用性 Apache Tomcat 7.0.20 includes bug fixes and the following new features compared to version 7.0.19:的Apache Tomcat 7.0.20,包括bug修复版本...

Global site tag (gtag.js) - Google Analytics