apache+jk+tomcat負載均衡(windows系統(tǒng))
本操作步驟部分仿照網上案例,再加上自己的一些說明;(測試通過的)
第一步:準備工作下載相關軟件
1、Apache HTTP Server (httpd) 2.2.17下載
http://labs.renren.com/apache-mirror//httpd/binaries/win32/httpd-2.2.17-win32-x86-openssl-0.9.8o.msi
2、Tomcat6.0.29下載
http://labs.renren.com/apache-mirror/tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29-windows-x86.zip
3、mod_jk-1.2.31-httpd-2.2.3:http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.31/mod_jk-1.2.31-httpd-2.2.3.so
第二步:分別安裝tomcat、apache,在安裝apache時候注意:
1、此處注意,如果你本機已經裝了iis并且占用80端口,務必先在服務中將iis停止或禁用。軟件默認安裝即可。安裝過程中設置Network Domain和Server Name為localhost,
設置你的email地址,下方會讓你選擇only for the current user或for all users。默認選擇for all users。這樣Apache就會占用80端口,并且做為一個系統(tǒng)服務開機自運
行。
2、安裝完后,在系統(tǒng)"拖盤"處看見Apache的羽毛圖標,如果機子本身已安裝IIS,此時圖標上為紅色的圓點,是因為IIS和Apache在端口80上的重復,修改IIS端口為其它端口.或修
改apache\conf下的httped.conf文件,修改"Listen 80" 中的80為其它.(本配修改了IIS端口,使得Apache的端口為80)
3、安裝完成后,進入D:\Program Files\Apache Software Foundation\Apache2.2\bin,雙擊ApacheMonitor.exe,啟動apache,在地址欄輸入:http://localhost,顯示it work!說明成功了。
第三步:Jk和apache的整合:
把mmod_jk-1.2.31-httpd-2.2.3.so拷貝到D:\Program Files\Apache2.2\modules\下
在D:\Program Files\apache2.2\conf\httpd.conf文件最后加入
#設置Apache與Tomcat之間的連接,讓Apache遇到jsp文件時,在后臺將其交由Tomcat去處理
#此處mod_jk的文件為你下載的文件
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
#指定tomcat監(jiān)聽配置文件地址
JkWorkersFile conf/workers.properties
#指定日志存放位置
JkLogFile logs/mod_jk.log
#指定日志級別
JkLogLevel debug
#不可缺少,否則只有一個tomcat能運行
NameVirtualHost *:80
第四步:apache和tomcat的整合:
1、首先配置tomcat的虛擬目錄,打開tomcat/conf/server.xml文件,在
同理,如果有多個tomcat,同樣需要更改engine、添加虛擬目錄、另外別忘更改tomcat端口;
2、在\apache2.2\conf目錄下,新建workers.properties文件,添加
Java代碼
- worker.list=loadbalancer
- # Define the first node...
- worker.tomcatA.port=8009#Tomcat worker主機的偵聽端口。
- worker.tomcatA.host=localhost#它定義了此worker的負載平衡權值。
- worker.tomcatA.type=ajp13
- worker.tomcatA.lbfactor=1
- worker.tomcat12.connection_pool_timeout=750
- worker.tomcat12.socket_keepalive=0#此屬性將告訴操作系統(tǒng)在未激活的連接中發(fā)送KEEP_ALIVE信息(發(fā)送間隔時間依賴于操作系統(tǒng)的設置,一般為120秒),這樣將防止防火墻切斷未激活的網絡連接。
- worker.tomcat12.socket_timeout=300000#此屬性說明連接在未激活的狀況下持續(xù)多久,web server將主動切斷之。
- worker.tomcat12.connect_timeout=10000# 此屬性說明了web server等待PONG回應的時間(以ms為單位)。
- worker.tomcat12.reply_timeout=330000#此屬性告訴web server在接到遠端的Tomcat已死并實時的切換到集群中的另外一個Tomcat的回應之前等待一段時間。
- worker.tomcat12.reply_timeout=0#此屬性說明了web server在檢測到Tomcat失敗后如何進行恢復工作(默認就是0,全部恢復)
- # Define the second node...
- worker.tomcatB.port=8019
- worker.tomcatB.host=localhost
- worker.tomcatB.type=ajp13
- worker.tomcatB.lbfactor=1
- worker.tomcat12.connection_pool_timeout=750
- worker.tomcat12.socket_keepalive=0
- worker.tomcat12.socket_timeout=300000
- worker.tomcat12.connect_timeout=10000
- worker.tomcat12.reply_timeout=330000
- # Now we define the load-balancing behaviour
- worker.loadbalancer.type=lb
- worker.retries=3
- worker.loadbalancer.balance_workers=tomcatA,tomcatB
- worker.loadbalancer.sticky_session=0#表述是否將對SESSION ID的請求路由回到相同的Tomcat worker。(默認是0,session不復制)
內容;
第五步:配置虛擬主機:
1、打開D:\Program Files\apache2.2\conf\httpd.conf文件,在最后增加:
Java代碼
- #設置虛擬主機
- ServerAdmin localhost
- #路徑中不能存在空格
- DocumentRoot D:\JAVA\testSpace\SpringTest\WebRoot
- ServerName localhost
- ErrorLog logs/shsc-error_log.txt
- CustomLog logs/shsc-access_log.txt common
"D:\JAVA\testSpace\SpringTest\WebRoot"> - Options Indexes FollowSymLinks
- AllowOverride None
- Order allow,deny
- Allow from all
- #讓Apache支持對servlet傳送,用以Tomcat解析
- JkMount /servlet/* loadbalancer
- #讓Apache支持對jsp傳送,用以Tomcat解析
- JkMount /*.jsp loadbalancer
- #讓Apache支持對.do傳送,用以Tomcat解析
- JkMount /*.action loadbalancer
好了,到這一步,就已經完成了,這個時候你用不同瀏覽器訪問http://localhost,如果他們是多個tomcat輪循訪問,那就配置成功了。
【編輯推薦】