本文主要是記錄windows下apache+JK+tomcat負(fù)載平衡的設(shè)置進(jìn)程,利便本身今后備用,也但愿能給剛打仗的xd提供參考。嘗試情況的系統(tǒng)已經(jīng)安裝好了apache2.2.17,安裝路徑D:Program FilesApache2.2
本文的或許章節(jié)分類:
1.下載mod_jk
2.修改apache相關(guān)設(shè)置
3.tomcat設(shè)置修改
4.測(cè)試負(fù)載平衡
5.設(shè)置apache處理懲罰靜態(tài)文件
【一】下載mod_jk
打開tomcat 的主頁:http://tomcat.apache.org,左側(cè)download頁面:
選擇圖中赤色標(biāo)注的鏈接打開如下:
選擇圖中赤色標(biāo)注的鏈接打開如下:
選擇圖中赤色標(biāo)注的鏈接打開如下:
選擇圖中赤色標(biāo)注的鏈接打開如下:
【二】修改apache相關(guān)設(shè)置
httpd.conf 路徑:D:Program FilesApache2.2confhttpd.conf
在httpd.conf文件的末端添加如下內(nèi)容:
# module mod_jk config file
Include conf/extra/mod_jk.conf
mod_jk.conf
Apache2.2confextra目次下新建文件:mod_jk.conf,內(nèi)容如下:
#load module mod_jk-1.2.31-httpd-2.2.3.so is for Apache 2.2.x.
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
#設(shè)置 mod_jk conf
#加載集群中的workers
JkWorkersFile conf/workers.properties
#加載workers的請(qǐng)求處理懲罰分派文件
JkMountFile conf/uriworkermap.properties
#指定jk的日志輸出文件
JkLogFile logs/mod_jk.log
#指定日志級(jí)別
JkLogLevel info
workers.properties
Apache2.2conf目次下新建文件:workers.properties,內(nèi)容如下:
# worker列表
worker.list=LB_worker,jkstatus
#第一個(gè)worker的設(shè)置,美國(guó)網(wǎng)站空間 香港網(wǎng)頁寄存,名為worker_1
#tomcat的主機(jī)地點(diǎn),如不為本機(jī),請(qǐng)?zhí)顚慽p地點(diǎn)
worker.worker_1.host=localhost
#ajp13 端標(biāo)語,對(duì)應(yīng)tomcat設(shè)置文件server.xml中Connector port="8009",默認(rèn)8009
worker.worker_1.port=8009
worker.worker_1.type=ajp13
#負(fù)載的權(quán)重值,越高暗示負(fù)載越大
worker.worker_1.lbfactor=1
#第二個(gè)worker的設(shè)置,名為worker_2
worker.worker_2.host=localhost
#ajp13 端標(biāo)語,對(duì)應(yīng)tomcat設(shè)置文件server.xml中Connector port="9009"
worker.worker_2.port=9009
worker.worker_2.type=ajp13
worker.worker_2.lbfactor=1
#LB_worker,用于負(fù)載平衡分發(fā)的節(jié)制器
worker.LB_worker.type=lb
#重試次數(shù)
worker.LB_worker.retries=3
#指定負(fù)載的worker列表,用逗號(hào)脫離
worker.LB_worker.balance_workers=worker_1,worker_2
#設(shè)置session會(huì)話是否為粘性
#這樣負(fù)載平衡器lb就會(huì)只管保持一個(gè)session,也就是利用戶在一次會(huì)話中跟同一個(gè)Tomcat舉辦交互
worker.LB_worker.sticky_session=true
#假如sticky_session設(shè)為true時(shí),此處一般設(shè)為false
worker.LB_worker.sticky_session_force=false
#配置運(yùn)行狀態(tài)的節(jié)制器
worker.jkstatus.type=status
workers.properties相關(guān)參數(shù)說明:
http://tomcat.apache.org/connectors-doc/reference/workers.html
worker.loadbalancer.sticky_session=true
該參數(shù)指定集群是否實(shí)現(xiàn)會(huì)話粘性,假如設(shè)為 true ,則表白為會(huì)話粘性,同一個(gè)session的請(qǐng)求會(huì)分發(fā)到同一臺(tái)tomcat;當(dāng)多個(gè)tomcat有一個(gè)session打點(diǎn)器時(shí)該值設(shè)為 false。
worker.loadbalancer.sticky_session_force=false
該參數(shù)僅在上面sticky_session=true時(shí)才起浸染。假如上面的 sticky_session 設(shè)為 true 時(shí),發(fā)起此處也設(shè)為 false
uriworkermap.properties
Apache2.2conf目次下新建文件:uriworkermap.properties,內(nèi)容如下:
#所有請(qǐng)求都由LB_worker這個(gè)worker處理懲罰
/*=LB_worker
#所有包括jkstatus請(qǐng)求的都由名稱叫jkstatus的這個(gè)worker處理懲罰
/jkstatus=jkstatus
uriworkermap.properties相關(guān)參數(shù)說明:
http://tomcat.apache.org/connectors-doc/reference/uriworkermap.html
【三】tomcat設(shè)置修改
有關(guān)JDK、tomcat的根基安裝設(shè)置本文不再作具體先容,重點(diǎn)先容與當(dāng)前負(fù)載平衡設(shè)置相關(guān)的內(nèi)容,以tomcat7.0.2為例來設(shè)置。
[1#] 修改tomcat-7.0.2_1confserver.xml
設(shè)置文件片斷如下:
<!-- 兩個(gè)tomat的端口區(qū)分隔 -->
<Connector URIEncoding="UTF-8" port="8082" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- Define an AJP 1.3 Connector on port 8009 -->
<!-- port="8009" 對(duì)應(yīng)于workers.properties中worker.worker_1.port=8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<!-- jvmRoute 的值對(duì)應(yīng)于workers.properties中worker_1 -->
<Engine name="Catalina" defaultHost="localhost" jvmRoute="worker_1">