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處理了
相關文章
相關標籤/搜索