日期:2014-05-17 浏览次数:20825 次
最近一系统需要以Apache+Tomcat的方式部署。经过查阅Apache和Tomcat官网资料(Apache官网 , Tomcat连接其它服务器相关资料 )后终于搞掂。在此记录下整合及部署过程中的一些关键内容。
??? 目前,Apache2.2连接Tomcat的方式有两种:一种是通过Apache自己的mod_proxy模块连接;一种是通过Tomcat自带的mod_jk模块。此次使用mod_jk方式进行连接。下面是步骤:
worker.list=node1,node2,balance_ctl,balance_stat # 定义连接tomcat的worker的公用属性 worker.node_template.type=ajp13 worker.node_template.lbfactor=1 worker.node_template.socket_timeout=45 worker.node_template.connection_pool_timeout=600 #设置了connection_pool_timeout属性后,还要在tomcat的server.xml的AJP设置中加入connectionTimeout="6000000"此处的单位为毫秒 worker.node_template.socket_keepalive=true #当apache与tomcat之间有防火墙时还要增加socket_keepalive属性 #定义worker worker.node1.reference=worker.node_template worker.node1.host=127.0.0.1 worker.node1.port=8009 worker.node1.redirect=node2 #redirect指定当node1挂掉后转到node2处理 worker.node2.reference=worker.node_template worker.node2.host=xx.xx.xx.xx worker.node2.port=8009 worker.node2.activation=disable #activation表示只有node1挂了将请求转到node2时node2才激活并开始工作 # 用于做负载均衡 worker.balance_ctl.type=lb worker.balance_ctl.balance_workers=node1,node2 worker.balance_ctl.sticky_session=true #sticky_session设置为true时,还要在tomcat的server.xml的相应<Engine>加入jvmRoute="XXX"这里的jvmRout的值为上述定义worker的host对应的tomcat所在的机器的worker名字 # 定义status用于查看apapche负载情况的实时信息 worker.balance_stat.type=status worker.balance_stat.read_only=true?
# 指定Apache加载mod_jk模块 LoadModule jk_module modules/mod_jk.so #指明workers.properties文件的位置 JkWorkersFile conf/workers.properties # 定义mod_jk的日志信息 JkLogFile logs/mod_jk.log JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " #定义请求的映射 JkMount /*.jsp balance_ctl #表示apache会将所有以.jsp结尾的请求都转发到balance_ctl工作线程处理 JkMount /*.do balance_ctl JkMount /jkmanager/* balance_stat # 这样就可以通过[ServerURL]/jkmanager/地址就可以实时查看服务器负载情况了?