採用軟體apache2.2.25(win32); tomcat6.0.16
首先安裝apache,一路next,安裝完成後開啟瀏覽器輸入http://localhost/回車,出現it works表示成功。
未成功的原因可能是電腦上啟用了iis服務(都使用80埠,也可更改埠),win7中點開坐下開始按鈕 右鍵計算機-管理-服務和元件中找到iis服務管理-關閉服務
由於apache 2.2整合了mod_jk功能,配置過程大幅簡化。
1、配置httpd.conf
1)找到apache的安裝路徑(英文)開啟apache2.2\conf\httpd.conf檔案進行配置
loadmodule proxy_module modules/mod_proxy.so
loadmodule proxy_ajp_module modules/mod_proxy_ajp.so
loadmodule proxy_balancer_module modules/mod_proxy_balancer.so
loadmodule proxy_connect_module modules/mod_proxy_connect.so
loadmodule proxy_ftp_module modules/mod_proxy_ftp.so
loadmodule proxy_http_module modules/mod_proxy_http.so
確定上述5項沒有被注釋掉(去掉「#」)
2)在該檔案最後加上如下內容
proxyrequests off #表示啟用反向**
#cluster表示集群名
balancermember ajp: loadfactor=1 route=jvm1 #集群成員1;loadfactor負載因子數值越大處理請求比重越大
balancermember ajp: loadfactor=1 route=jvm2 #集群成員2;loadfactor負載因子數值越大處理請求比重越大
sethandler balancer-manager
order deny,allow
deny from all
allow from all
使用ajp_proxy反向**,apache通過ajp協議與tomcat進行通訊,ip位址和埠唯一確定了tomcat節點和配置的ajp接受埠。
balancer-manager
在瀏覽器中輸入http://localhost/balancer-manager可以檢視負載情況
3)在該檔案中找到
include conf/extra/httpd-vhosts.conf
去掉注釋(「#」)
至此,對httpd.conf的配置完成。
2、配置apache2.2\conf\extra\httpd-vhosts.conf檔案
上一步開啟注釋關聯到此檔案,在此檔案中配置虛擬伺服器最下方加入如下內容
serveradmin [email protected] #管理員郵箱
servername localhost #網域名稱(沒有可用ip位址代替)
serveralias localhost
proxypass / balancer://cluster/ stickysession=jsessionid nofailover=on lbmethod=bytraffic #cluster表示集群名
proxypassreverse / balancer://cluster/ #cluster表示集群名
lbmethod引數可以選擇設負載方式有三種:byrequests(按請求)||bytraffic(按流量)||bybusyness(按繁忙程度均衡,總是分配給活躍請求數最少的伺服器)
日誌檔案名字自己選取。
至此,該檔案配置完成。
apache的2個檔案配置完成後可以啟動試試。
3、配置tomcat的server.xml檔案
因為我在本地用了2個tomcat分別為tomcat-a,tomcat-b所以需要對其中埠進行設定區分。
tomcat-a中的埠不變,tomcat-b中對應的埠分別改為9005、8081、9009、4001避免重複就好了。
上面這句的埠對應前面apache配置檔案中的埠(ajp)balancermember ajp: loadfactor=1 route=jvm2 #集群成員2
使用ajp協議需要如下配置(原檔案中是被注釋掉的,去掉注釋替換原來的即可),2個tomcat都要配置
這裡的jvmroute對應apache httpd.conf中balancermember中配置的route引數
對集群的配置如下,2個tomcat都要配置(也可採用預設配置,開啟原檔案被注釋的即可),注意receiver埠號不重複
tomcat集群各節點通過建立tcp鏈結來完成session的拷貝,拷貝有同步和非同步兩種模式。在同步模式下,對客戶端的響應必須在session拷貝到其他節點完成後進行;非同步模式無需等待session拷貝完成就可響應。
非同步模式更高效,但是同步模式可靠性更高。同步非同步模式由channelsendoptions引數控制,預設值是8,為非同步模式,4是同步模式,這個引數說明了集群內部伺服器訊息的傳送方式,實際上用了二進位制數的表示方式,第一位是1說明使用ack(收到確認),第二位是1說明使用同步ack,第三位是1說明使用非同步訊息的模式。
在非同步模式下,可以通過加上拷貝確認(acknowledge)來提高可靠性,此時channelsendoptions設為10。
manager用來在節點間拷貝session,預設使用deltamanager,deltamanager採用的一種all-to-all的工作方式,即集群中的節點會把session資料向所有其他節點拷貝,而不管其他節點是否部署了當前應用.
當集群中的節點數量很多並且部署著不同應用時,可以使用backupmanager,backmanager僅向部署了當前應用的節點拷貝session.
但是到目前為止backupmanager並未經過大規模測試,可靠性不及deltamanager.
membership用於發現集群中的其他節點,這裡的address用的是組播位址(multicast address),使用同乙個組播位址和埠的多個節點同屬乙個子集群,因此通過自定義組播位址和埠就可將乙個大的tomcat集群分成多個子集群.
pooledparallelsender是從tcp連線池中獲取連線,可以實現並行傳送.
4、配置你的web應用中的web.xml
至此tomcat的配置也完成。
測試:配置好你的應用後注意順序先啟動2個tomcat然後啟動apache,多次重新整理訪問應用可以在http://localhost/balancer-manage中檢視2個tomcat的負載情況
worker url
route
routeredir
factor
setstatus
elected
tofrom
ajp:
jvm110
ok20
4118.8k
ajp:
jvm210
ok19
3868.3k
Apache2 Tomcat6配置負載均衡
1.安裝apache和tomcat,這裡假定apache2.2.3,tomcat6.x 且apache安裝在apachehost,tomcat分別安裝在tomcathost1和tomcathost2上 2.修改 etc httpd conf httpd.conf檔案,確定以下行沒有被注釋掉 3.修改...
Apache2 Tomcat6配置負載均衡
1.安裝apache和tomcat,這裡假定apache2.2.3,tomcat6.x 且apache安裝在apachehost,tomcat分別安裝在tomcathost1和tomcathost2上 2.修改 etc httpd conf httpd.conf檔案,確定以下行沒有被注釋掉 3.修改...
Apache2 Tomcat6配置負載均衡
1.安裝apache和tomcat,這裡假定apache2.2.3,tomcat6.x 且apache安裝在apachehost,tomcat分別安裝在tomcathost1和tomcathost2上 2.修改 etc httpd conf httpd.conf檔案,確定以下行沒有被注釋掉 3.修改...