apache-tomcat配置

1.下载apache mod_jk模块,按照官方网站进行相应的名称修改

2.在httpd.conf文件中增加

   LoadModule jk_module modules/mod_jk.so

   我的apache是2.2版本的,当我配置jk_module为mod_jk的时候apache起不来,估计这个名称的命名是有规定的   (有待进一步学习)

3.增加worker.properties文件,文件内容

  worker.list = tomcatA

  worker.tomcatA.type=ajp13
  worker.tomcatA.host=127.0.0.1
  worker.tomcatA.port=8009
  上面是一个简单的配置,还有其他一些属性可以配置

  connection_pool_size:连接池中为本worker保持的连接数,默认是threads-per-child值,在2.2中默认为250

  connection_pool_minisize:默认为pool_size/2

  connection_pool_timeout:在本worker生命结束的前,他在连接池中保持的秒数

  retries:在转寄请求期间,当一个worker返回错误时,他控制mod_jk将再次重发本worker的时间

  socket_timeout:控制mod_jk提示错误前,将等待socket上的worker响应的时间,默认是0,表示无限长时间

  socket_keepalive:指示是否保持到worker的链接处于活动状态,默认0 false

  lbfactor: 指示负载平衡因素的整数

  以上的参数是极不ajp13类型的worker,本类型的worker代表了运行的tomcat实例

4.在httpd.conf中附加mod_jk指令

  JkWorkersFile conf/workers.properties
  JkLogFile logs/mod_jk.log
  JkLogLevel debug
  JkRequestLogFormat "%w %U %T"
  JkMount /examples/jsp/* tomcatA #将这个请求发送到tomcatA实例

  JkMount /jkstatus/ stat1
  SetEnvIf Request_Url "/nomap/jsp/*" no-jk

5. 修改tomcat conf中的server.xml,启动ajp连接器,因为apache是用ajp来与tomcat进行通信的

  启动tomcat进行测试

6.tomcat负载平衡

  主要是用apache在三个tomcat之间进行请求的负载

  修改worker.properties

  worker.list = ball,stat1

  worker.tomcatA.type=ajp13
  worker.tomcatA.host=127.0.0.1
  worker.tomcatA.port=8009
  worker.tomcatA.lbfactor=10

  worker.tomcatB.type=ajp13
  worker.tomcatB.host=127.0.0.1
  worker.tomcatB.port=8010
  worker.tomcatB.lbfactor=10

  worker.tomcatC.type=ajp13
  worker.tomcatC.host=127.0.0.1
  worker.tomcatC.port=8011
  worker.tomcatC.lbfactor=10

  worker.ball.type=lb
  worker.ball.sticky_session=1
  worker.ball.balance_workers = tomcatA,tomcatB,tomcatC

  worker.stat1.type=status

  里面定义了5个worker,3个是ajp类型的,运行的tomcat实例

  ball类型是lb表示本类型的worker是用来负载平衡的,

  属性有:balance_workers:平衡负载的一组worker

  lock:控制负载平衡器如何访问、共享运行内存容器stats来确定将使用哪个worker,默认0,乐观锁,1悲观锁

  method:使用哪种方式来转寄请求数到worker,R,T或B,R请求书,T流量,B

  sticky_session:告知mod_jk遵守请求中的会话,默认1,

  sticky_session_force:用于转移故障,当session_id处于错误的状态,请求将转移到另一个worker

  stat1的类型是status,可以查看各个tomcat的负载情况

7.根据worker,修改相应的tomcat的ajp,同时在Engine中增加jvmRoute,为每个tomcat实例的名称

你可能感兴趣的:(apache)