iteye_17148
2008-10-29 23:46 阅读 178
已采纳

多个tomcat同一个apache,使用jk建立关系时常出错!

多个项目,放在独立的tomcat上,并没有实现负载,要求实现静态化交给apache处理。



配置了3个tomcat通过jk和apache建立关系:




  1. tom1存放项目名:d1

  2. tom2存放项目名:news

  3. tom3存放项目名:root




环境:(一台win2003服务器,,zip版本5.5.26的tomcat装了3个,,jk是1.2.26的,apache2.2.?)



我的实现方式:



每个tomcat根目录下写个bat脚本,用于同一个机器上启动多个tomcat



D:\Program\Tomcat5.5.26\startup_proname.bat



set CATALINA_HOME=D:\Program\Tomcat5.5.26

bin/startup.bat

(此处只写一个tomcat的配置server.xml就不多说了,其他的也如此)



贴出我的配置文件,一共5个:


  • mod_jk

  • workers2.properties

  • uriworkermap-d1.properties

  • uriworkermap-news.properties

  • uriworkermap-root.properties 






mod_jk



# Load mod_jk module. Specify the filename

of the mod_jk lib you’ve downloaded and

installed in the previous section

#加载mod_jk模块
LoadModule jk_module modules/mod_jk.so

Where to find workers.properties

JkWorkersFile conf/workers2.properties

Where to find uriworkermap.properties

JkMountFile conf/uriworkermap-root.properties
JkMountFile conf/uriworkermap-news.properties
JkMountFile conf/uriworkermap-d1.properties

Where to put jk logs

JkLogFile logs/mod_jk.log

Set the jk log level [debug/error/info]

JkLogLevel info

Select the log format

JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

JkOptions indicate to send SSL KEY SIZE,

JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories

JkRequestLogFormat set the request format

JkRequestLogFormat "%w %V %T"

#关掉主机Lookup,如果为on,很影响性能,可以有10多秒钟的延迟。
HostnameLookups Off



workers2.properties



worker.list=root-loadbalancer,news-loadbalancer,d1-loadbalancer

#主工程
worker.root.type=ajp13
worker.root.host=localhost
worker.root.port=9009
worker.root.lbfactor=1

worker.root-loadbalancer.type=lb
worker.root-loadbalancer.balance_workers=root

#新闻工程(news)
worker.news.type=ajp13
worker.news.host=localhost
worker.news.port=9019
worker.news.lbfactor=1

worker.news-loadbalancer.type=lb
worker.news-loadbalancer.balance_workers=news

#文件服务器工程(d1)
worker.d1.type=ajp13
worker.d1.host=localhost
worker.d1.port=9029
worker.d1.lbfactor=1

worker.d1-loadbalancer.type=lb
worker.d1-loadbalancer.balance_workers=d1

worker.status.type=status



uriworkermap-d1.properties



/*=d1-loadbalancer

!/*.gif=d1-loadbalancer
!/*.jpg=d1-loadbalancer
!/*.png=d1-loadbalancer
!/*.css=d1-loadbalancer
!/*.js=d1-loadbalancer
!/*.htm=d1-loadbalancer
!/*.html=d1-loadbalancer



uriworkermap-news.properties



/*=news-loadbalancer

!/*.gif=news-loadbalancer
!/*.jpg=news-loadbalancer
!/*.png=news-loadbalancer
!/*.css=news-loadbalancer
!/*.js=news-loadbalancer
!/*.htm=news-loadbalancer
!/*.html=news-loadbalancer



uriworkermap-root.properties



/*=root-loadbalancer

!/*.gif=root-loadbalancer
!/*.jpg=root-loadbalancer
!/*.png=root-loadbalancer
!/*.css=root-loadbalancer
!/*.js=root-loadbalancer
!/*.htm=root-loadbalancer
!/*.html=root-loadbalancer





现在运行了2,3天时间发现偶尔会有异常,打不开现象,重启下影响不大,不过不知道原因很痛苦!



tomcat日志:



2008-10-28 13:18:59 org.apache.jasper.compiler.TldLocationsCache processWebDotXml

警告: Internal Error: File /WEB-INF/web.xml not found

2008-10-28 13:50:22 org.apache.jk.core.MsgContext action

警告: Error sending end packet

java.net.SocketException: Software caused connection abort: socket write error


问题补充:
能否详细点,最近又来了这个异常,现在直接启动不起来了。!!!



mod_proxy_ajp不熟悉啊。能否帮忙!!!这些天一直比较头疼!
问题补充:
关键的是我还有url重写!!!
问题补充:
/*=news-loadbalancer 

/*=root-loadbalancer 

这个我用了3个。。
问题补充:
还是感谢你的回复。。



不过mod_proxy_ajp不支持表达式吧。。




问题补充:
希望给点提示。。我结贴了。
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • 已采纳
    iteye_12852 iteye_12852 2008-11-03 22:20

    站内搜索 apache tomcat proxy

    点赞 评论 复制链接分享
  • iteye_12852 iteye_12852 2008-10-29 23:46

    废掉mod_jk,改用mod_proxy_ajp

    点赞 评论 复制链接分享

相关推荐