免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5061 | 回复: 2
打印 上一主题 下一主题

apache 分发N个tomcat问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-08-15 08:47 |只看该作者 |倒序浏览
环境:

同一部機,同一個IP,一個80 端口
一個apache

兩個tomcat 如下:
http://10.2.6.60:10020/aa/
http://10.2.6.60:10021/bb/

我現在想用80 端口
http://10.2.6.60/aa/  訪問到  http://10.2.6.60:10020/aa/
http://10.2.6.60/bb/  訪問到  http://10.2.6.60:10021/bb/


原因是已前一个Tomcat 上有几个应用在跑.有时,一个应用出错,tomcat 就死掉,影响到其它应用,所以想把应用分开,一个tomcat 对应一个应用...这种方法合理吗?


tomcat 老出现这个异常:
警告: Error sending end packet
java.net.SocketException: Broken pipe
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at org.apache.jk.common.ChannelSocket.send(ChannelSocket.java:531)
at org.apache.jk.common.JkInputStream.endMessage(JkInputStream.java:112)
at org.apache.jk.core.MsgContext.action(MsgContext.java:293)
at org.apache.coyote.Response.action(Response.java:182)
at org.apache.coyote.Response.finish(Response.java:304)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:204)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
2007-4-17 17:04:41 org.apache.jk.common.ChannelSocket processConnection
警告: processCallbacks status 2

也不知怎么解决.....

论坛徽章:
0
2 [报告]
发表于 2007-08-21 17:41 |只看该作者
没有合理不合理的,我使用过两个不同版本的tomcat,原因是一个系统自带tomcat4,而我开发的需要运行于tomcat5上,但原有系统不能升级tomcat(升级了它就不能自动管理)。

修改tomcat1及tomcat2的AJP端口,改为不冲突的两个端口,同时两个tomcat的http端口也要不冲突,如果你的连接方式是使用ajp的,那么就可以使用如下方式:
worker.list=work1,work2
worker.work1.port=8109
worker.work1.host=localhost
worker.work1.type=ajp13

worker.work2.port=8112
worker.work2.host=localhost
worker.work2.type=ajp13

这样的话你就可以根据apache中装载worker的不同调用不同的tomcat,
即:
你在apache的http://10.2.6.60/aa/ 中mount work1
而在http://10.2.6.60/bb/ 中mount work2
就可以了。


还有,你也可以使用两个tomcat进行load balance,具体的请看tomcat及apache的整合文档,里面有详细的介绍。

论坛徽章:
0
3 [报告]
发表于 2007-08-24 17:01 |只看该作者
这样的话你就可以根据apache中装载worker的不同调用不同的tomcat,
即:
你在apache的http://10.2.6.60/aa/ 中mount work1
而在http://10.2.6.60/bb/ 中mount work2
就可以了。


这里的 apache的http://10.2.6.60/aa/ 中mount work1
而在http://10.2.6.60/bb/ 中mount work2
可不可以给个例子啊?

我用的是apache 2.2+tomcat.5.5

而这里:
worker.list=work1,work2
worker.work1.port=8109
worker.work1.host=localhost
worker.work1.type=ajp13

worker.work2.port=8112
worker.work2.host=localhost
worker.work2.type=ajp13

你这连接方式是用JK吧

如果用:ajp_proxy呢?怎么设好,http://10.2.6.60/   是一样的,后面的/aa ,/bb 是不同tomcat上的应用...谢谢...
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP