Tomcat --mod_jk简述

apache与tomcat服务器链接有两种方式
1.apache自带的mod_proxy
2.tomcat推出的mod_jkcss

#1.为何要进行apache与tomcat链接?
咱们都知道,tomcat自己已经提供了http服务,该服务的默认端口是8080,装好tomcat后经过8080端口就能够直接使用tomcat了。 既然tomcat自己已经提供了这样的服务,为啥还要引入apache或者一些其余的http服务器呢?
1.提高对静态文件的处理能力(这是apache服务器的强项)
2.利用web服务器作负载均衡(单台tomcat确定存在性能瓶颈)
3.无缝升级应用程序(即不须要重启服务器的状况下,能够增长多台服务器)
#2.mod_jk模式
##1.jk是经过ajp协议与tomcat服务器进行通信的,tomcat默认的ajp Connector的端口是8009html

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

tomcat默认的http Connector的端口号是8080,这是tomcat自带的http服务web

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

单台tomcat就采用http服务。
##2.jk提供了一个监控及管理状态jkstatus,经过jkstatus能够监控jk目前的工做状态以及对tomcat的链接设置。
jk的配置有三个文件
###1.mod_jk.conf
它设置在apache的配置文件http.conf里面,用来加载jk模块及指定jk配置文件信息。
###2.workers.properties
链接到tomcat服务器的文件。
###3.uriworkermap.properties
uri映射文件,用来指定哪些url由tomcat处理。
##3.mod_jk.conf详解apache

#指定模块路径
LoadModule jk_module modules/mod_jk.so 
#指定mod_jk的workers
JkWorkersFile conf/workers.properties  
#指定workers的请求处理分配  
JkMountFile conf/uriworkermap.properties
#指定jk的日志输出文件
JkLogFile logs/mod_jk.log
#指定日志级别,这里设置成警告
JkLogLevel warn
#包含标准的mod_jk(默认)
#info  
#包含错误信息
#error
#用来配置log文件的日期/时间格式,使用strftime()的格式化字符串,默认是[%a %b %d %H:%M:%S %Y]
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"

##4.workers.properties缓存

#worker列表
worker.list=controller,Tomcat1,Tomcat2,status 
#========Tomcat1========
#端口  
worker.Tomcat1.port=7009  
#ip
worker.Tomcat1.host=localhost  
#协议
worker.Tomcat1.type=ajp13
#加权比重,值越高,分的请求越多  
worker.Tomcat1.lbfactor=1
#缓存数
worker.Tomcat1.cachesize=10
#========Tomcat2========  
worker.Tomcat2.port=9009  
worker.Tomcat2.host=localhost  
worker.Tomcat2.type=ajp13  
worker.Tomcat2.lbfactor=1
#========controller========
#server名为controller,用于负载均衡  
worker.controller.type=lb
#指定分担请求的server列表,用逗号隔开  
worker.controller.balanced_workers=Tomcat1,Tomcat2
#设置负载均衡的server的session能否共享
#一次请求中,session只会在一个jboss上,当该jboss崩溃后,请求会跳转到其它jboss上,
#可是其session不会复制跳转到后的jboss上
#true=1 false=0
#我这里设置成false,即一个tomcat挂掉了后,请求不会自动转到另外一个tomcat上
#会出现这种现象,我请求第一次不成功(假设tomcat1挂掉),我请求第二次成功了(tomcat2工做)  
worker.controller.sticky_session=false
#worker.controller.sticky_session_force=false
#重试次数
worker.retries=3
#监控status
worker.status.type=status

##5.uriworkermap.properties详解tomcat

#全部的请求都交给controller这个server处理
/*=controller
#全部包含jkstatus的请求都由status这个server处理
#全部以.gif结尾的请求都 不给 controller这个server处理(注意:前面有个感叹号,表示非的意思)
!/*.gif=controller
!/*.jpg=controller
!/*.png=controller
!/*.css=controller
!/*.js=controller
!/*.htm=controller
!/*.html=controller
#如上这些都是静态文件,直接由apache处理了
相关文章
相关标签/搜索