通向架构师的道路(第十七天)IBM Websphere集群探秘-WASND
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
一、IBMWebsphere集群
IBM WebSphere的發(fā)行版分為單機(jī)版和NetworkDeployment版,我們把Network Deployment稱為ND即可作集群的版本。
WAS的集群和Weblogic的集群一樣,它也可以作垂直和橫向兩種集群。
而WASND的集群是在所有的集群中最強(qiáng)大的,因?yàn)樗梢?#xff1a;
通過各個(gè)node組成一個(gè)個(gè)cell,又可以把這一個(gè)個(gè)cell組成一個(gè)個(gè)新的cluster,而cluter與cluster還可以通過共屬一個(gè)manager node來組成新的一個(gè)集群,以此可以通過WASND來組集超大規(guī)模集群。
同時(shí),IBM的新一代產(chǎn)品如:網(wǎng)格計(jì)算(回頭我們說完了WASND就來說這個(gè)),云計(jì)算一些企業(yè)級(jí)虛擬應(yīng)用都是建立在WASND的基礎(chǔ)之上的。
一、基本概念
使用WASND作集群的步驟很多,下面的教程有幾十頁之多,都是步驟,只要記住下面幾個(gè)步驟就能抓住關(guān)鍵點(diǎn)了。
1.???????先裝WASND,廢話,但你也必須要有WASND而不是一般的WAS,一般的WAS作不了集群。
2.???????建立一個(gè)Deployment Manager節(jié)點(diǎn),我們稱它為DMGR。
3.???????建立“應(yīng)用單元”。
4.???????將“應(yīng)用單元”與DMGR進(jìn)行“聯(lián)合”,這邊的官方文檔上寫的是”Federate”,我們可以把它理解成“把應(yīng)用單元”加入DMGR的管理之下。
5.???????用startManager啟動(dòng)dmgr。
6.???????用startNode啟動(dòng)各個(gè)node。
7.???????進(jìn)入dmgr的admin console可以啟動(dòng)和停止集群下的各個(gè)成員。
下面我們就來造一個(gè)集群,在本案例內(nèi)我們裝1個(gè)dmgr,兩個(gè)node,然后把兩個(gè)node加入該dmgr,然后使用IBM HttpServer(IHS)來做HTTP請(qǐng)求派發(fā)(請(qǐng)見下面的表格-大小寫嚴(yán)格區(qū)分)
| 邏輯名稱 | 單元功能 | profileName | server |
| Dmgr | 集群管理單元 | Dmgr | dmgr |
| Server1 | 集群節(jié)點(diǎn)1 | AppSrv01 | server1 |
| Server2 | 集群節(jié)點(diǎn)1 | AppSrv02 | server1 |
為了測(cè)試方便,我們?nèi)齻€(gè)單元全部啟用“安全性管理”,用戶名與密碼均為“admin/password_1”。
?
二、安裝WASND
3.1 WASND軟件的安裝
我們?cè)诖耸褂玫氖荳ASND7.0。
解壓后進(jìn)入相關(guān)目錄雙擊launch.exe來啟動(dòng)WASND的安裝界面。
開始安裝。
下一步
下一步
填入相應(yīng)的安裝目錄(簡(jiǎn)單明了,不要裝在什么c:\program files這樣的目錄名下),不要有空格,不要有特殊字符,JAVA很忌諱這個(gè)的。
下一步
我們不要讓安裝程序替我們做任何節(jié)點(diǎn)的配置,我們將在安裝完成后自己來手動(dòng)配置,因此這邊選“無”。
下一步
在彈出對(duì)話框中選[是]
一直下一步,直到安裝開始。
裝完后,把“使用概要管理工具創(chuàng)建新的WebSphere Application概要文件”選項(xiàng)前的勾去掉,并點(diǎn)擊[完成]按鈕。
裝完WASND后我們?cè)谙到y(tǒng)菜單中會(huì)得到如下的菜單項(xiàng)
我們選“概要管理工具”來創(chuàng)建我們的dmgr吧。
3.2?創(chuàng)建DMGR(管理單元)
啟動(dòng)概要管理工具
點(diǎn)[啟動(dòng)概要管理工具]
點(diǎn)[創(chuàng)建]按鈕
選擇“管理”點(diǎn)[下一步]
選擇“Deployment Manager”選[下一步]
我們這邊選擇“高級(jí)概要文件創(chuàng)建”。
[下一步]
我們創(chuàng)建一個(gè)概要名即profileName為:Dmgr的概要文件,該概要文件包含一個(gè)Deployment Manager Server, server名為dmgr。
下一步,然后輸入我們的admin console的用戶名與密碼,我們使用:
admin/password_1。
下一步
我們不希望這些創(chuàng)建后的單元隨著我們系統(tǒng)的啟動(dòng)而啟動(dòng),我們將在隨后的教程中使用命令行來啟動(dòng)這些單元節(jié)點(diǎn)。
下一步
我們最后review一下我們的dmgr的配置,下一步開始[創(chuàng)建]這個(gè)管理單元的節(jié)點(diǎn)吧
創(chuàng)建完成成后不要勾選“啟動(dòng)第一步控制臺(tái)”這個(gè)選項(xiàng)點(diǎn)[完成]按鈕即可。
回到“根據(jù)管理工具”主界面,我們可以看到我們剛才的步驟已經(jīng)創(chuàng)建了一個(gè)管理單元節(jié)點(diǎn)了。
使用以下命令啟動(dòng)我們的管理單元
看到“進(jìn)程標(biāo)識(shí)為4980”的字樣后代表我們的管理單元已經(jīng)啟動(dòng)成功了。
我們?cè)贗E地址欄中輸入http://localhost:9060/ibm/console后使用admin/password_1登錄后看到管理控制臺(tái)后代表我們的管理單元已經(jīng)創(chuàng)建成功了。
接下來我們就要開始創(chuàng)建我們的集群節(jié)點(diǎn):AppSrv01與AppSrv02了。
3.3?創(chuàng)建AppSrv01與02(集群節(jié)點(diǎn))
依舊使用這個(gè)“管理概要工具”,點(diǎn)[創(chuàng)建]按鈕。
這次我們要選“應(yīng)用程序服務(wù)器”這個(gè)模板來創(chuàng)建我們的集群節(jié)點(diǎn)了。
下一步
下一步
在此我們創(chuàng)建我們的第一個(gè)集群節(jié)點(diǎn)即:profileName為AppSrv01,server名為server1。
下一步
填入server名,我們這邊填server1
下一步
此處的用戶名與密碼還是用admin/password_1。
下一步
我們r(jià)eview一下我們的配置后下一步
和管理單元的創(chuàng)建一樣,我們不把AppSrv01設(shè)為隨著操作系統(tǒng)的啟動(dòng)而啟動(dòng),我們將手工啟動(dòng)AppSrv01與AppSrv02。
下一步
最后確認(rèn)一下,我們開始創(chuàng)建我們這個(gè)節(jié)點(diǎn)。
創(chuàng)建完了AppSrv01后我們依照AppSrv01的步驟再創(chuàng)建一個(gè):
profileName為AppSrv02;
Server Name:為server1(這邊也是server1哦,看仔細(xì)了);
的“應(yīng)用程序服務(wù)器”
全部節(jié)點(diǎn)創(chuàng)建完成后對(duì)照著我們回過頭來,再來對(duì)照著上面的那個(gè)表格,來看下面這個(gè)列表。
| 邏輯名稱 | 單元功能 | profileName | server |
| Dmgr | 集群管理單元 | Dmgr | dmgr |
| Server1 | 集群節(jié)點(diǎn)1 | AppSrv01 | server1 |
| Server2 | 集群節(jié)點(diǎn)1 | AppSrv02 | server1 |
?
我們依次啟動(dòng)AppSrv01與AppSrv02來測(cè)試我們剛才的創(chuàng)建是否成功。
兩個(gè)server的節(jié)點(diǎn)起來后我們?cè)贗E地址欄分別用:
http://localhost:9061/ibm/console與http://localhost:9062/ibm/console進(jìn)行登錄,如果都能登錄成功,代表剛才我們的創(chuàng)建一切無誤。
接下去我們就要開始我們的“集群”了,即“聯(lián)合集點(diǎn)”的工作了。
一、使普通的應(yīng)用程序服務(wù)器與Dmgr聯(lián)合
4.1?聯(lián)合AppSrv01節(jié)點(diǎn)入Dmgr
進(jìn)入: d:\IBM\WebSphere\AppServer\profiles\AppSrv01\bin目錄
鍵入:addNode.bat localhost 8879 –username admin –password password_1進(jìn)行節(jié)點(diǎn)聯(lián)合
此處的localhost8879即為你的Dmgr所在的ip與dmgr的soap連接端口。
注意:
WAS內(nèi)的soap連接端口默認(rèn)從8879開始計(jì)數(shù),所以Dmgr的soap端口是8879,AppSrv01的soap端口就是8880,AppSrv02的soap端口就為8881,依次類推。
4.2?聯(lián)合AppSrv02節(jié)點(diǎn)入Dmgr
當(dāng)有任意一個(gè)“應(yīng)用程序服務(wù)器”被聯(lián)合入Dmgr后,該Dmgr即不再以server的形式運(yùn)行了,而是以manager的形式來運(yùn)行了,因此再關(guān)閉和啟動(dòng)該Dmgr時(shí)不能用startServer命令了,而是要用startManager, stopManager這對(duì)命令來控制該Dmgr的啟動(dòng)與關(guān)閉了。
4.3?重新用集群的方式啟動(dòng)Dmgr,AppSrv01,AppSrv02
4.3.1?先依次關(guān)閉AppSrv02, AppSrv01, Dmgr
關(guān)閉AppSrv02
關(guān)閉AppSrv01
關(guān)閉Dmgr
因?yàn)橐呀?jīng)有任意一個(gè)“應(yīng)用程序服務(wù)器”被聯(lián)合入Dmgr后,該Dmgr即不再以server的形式運(yùn)行了,而是以manager的形式來運(yùn)行了,因此再關(guān)閉和啟動(dòng)該Dmgr時(shí)不能用startServer命令了,而是要用startManager, stopManager這對(duì)命令來控制該Dmgr的啟動(dòng)與關(guān)閉了。
所以我們使用stopManager而不再是stopServer命令了。
4.3.2?依次啟動(dòng)集群各節(jié)點(diǎn)Dmgr, AppSrv01, AppSrv02
先啟動(dòng)Dmgr
使用:D:\IBM\WebSphere\AppServer\profiles\Dmgr\bin\startManager–username admin –password password_1來啟動(dòng)我們的Dmgr。
再啟動(dòng)AppSrv01
AppSrv01與AppSrv02的啟動(dòng)沒有先后順序,可以任意。
再啟動(dòng)AppSrv02
4.4?利用WAS自帶的adminconsole組建集群
Dmgr, AppSrv01, AppSrv02都以集群的方式啟動(dòng)起來后我們還需要使用我們的admin console來把這些個(gè)節(jié)點(diǎn)真正組成我們想要的集群。
一旦集群組成后,我們就可以在admin console中start, stop我們的集群了。
注:
要在admin console中使用GUI的方式start stop我們的集群必須先以startMangaer的方試啟動(dòng)我們的Dmgr,再以startNode的形式把各個(gè)節(jié)點(diǎn)啟動(dòng)起來后才能利用admin console中的GUI方式來控制集群。
我們登錄dmgr的admin console即使用:http://localhost:9060/ibm/console登錄后
我們選擇左邊的服務(wù)器類型->WebSphere Application Server,在右邊如下圖我們可以看到現(xiàn)在列出2個(gè)server,全部選中后,點(diǎn)[刪除]按鈕(對(duì),你沒看錯(cuò),我們要的是集群不要單獨(dú)運(yùn)行的server)。
全刪空后的效果如下圖
此時(shí),我們選擇左邊菜單的“WebSphere Application Server集群”,然后在右邊的操作面板中點(diǎn)[新建]按鈕。
我們把我們這個(gè)集群名叫“mycluster”吧,按照下面的截圖填選
下一步
此處,我們把AppSrv01這個(gè)profile所帶的server1加入這個(gè)cluster中去。
下一步
這步要注意了,很重要
剛才我們將位于shnlap93Node01即AppSrv01中的server1加入了mycluster,現(xiàn)在我們要將AppSrv02中的server1也加入mycluster中。
記住在選擇節(jié)點(diǎn)出選擇“shnlap93Node02”,成員名還是添server1(不是server2哦)這邊有點(diǎn)搞。
然后不是點(diǎn)[下一步],而是點(diǎn)那個(gè)[添加成員]這個(gè)按鈕。
點(diǎn)了這個(gè)[添加成員]按鈕后我們會(huì)發(fā)覺在下方的成員列表中多了一項(xiàng)了,如下圖所示。
此時(shí),再點(diǎn)[下一步]
我們確認(rèn)信息后點(diǎn)[完成],開始創(chuàng)建“mycluster”集群。
創(chuàng)建完后千萬不要忘記點(diǎn)“保存”這個(gè)連接啊,要不然前功盡棄。
點(diǎn)完“保存”這個(gè)連接后系統(tǒng)將顯示如下這樣的消息輸出界面
等到所有的消息輸出完成后,再點(diǎn)[確定]按鈕。
集群mycluster創(chuàng)建完成后將顯示如下,此時(shí),它的狀態(tài)為不可用。
我們點(diǎn)這個(gè)“mycluster”,點(diǎn)進(jìn)去,看到下面這樣的界面。
可以看到這個(gè)集群包括兩個(gè)節(jié)點(diǎn)以及節(jié)點(diǎn)的相關(guān)信息,并且這兩個(gè)節(jié)點(diǎn)雖然都已經(jīng)startNode了,但實(shí)質(zhì)上相關(guān)的服務(wù)沒有啟動(dòng)起來。
我們先不急著啟動(dòng)我們的集群,我們先來布署我們的JDBC吧。
一、在WASND中布署JDBC
在創(chuàng)建JDBC前我們先作一個(gè)小操作。
因?yàn)槲覀儸F(xiàn)在是集群了,在一個(gè)單元的任何資源發(fā)布都會(huì)被同步到另一個(gè)相同的集群中的另一個(gè)節(jié)點(diǎn),但是WASND默認(rèn)是不會(huì)進(jìn)行這個(gè)“節(jié)點(diǎn)間的同步”的,需要我們?nèi)斯ぴO(shè)置一下,按照下圖:
系統(tǒng)管理->控制臺(tái)首選項(xiàng)中,勾選這個(gè)“與節(jié)點(diǎn)同步更改”的選項(xiàng),并點(diǎn)擊[應(yīng)用]。
以后,無論什么資源發(fā)布,企業(yè)級(jí)應(yīng)用程序發(fā)布,節(jié)點(diǎn)間的應(yīng)用就都會(huì)自動(dòng)“同步”了。
5.1?創(chuàng)建JDBC Provider
這個(gè)和我們?cè)?strong>(第十五天)IBM Websphere的安裝與優(yōu)化中的5.2小節(jié)中的介紹一樣,沒有什么特殊的,只是在創(chuàng)建JDBC Provider時(shí)的作用域要選“mycluster”,而不能再是普通的Node了。
5.2?數(shù)據(jù)源
創(chuàng)建完我們的JDBC Provider后,我們還要?jiǎng)?chuàng)建我們的數(shù)據(jù)源,對(duì)吧?
別忘了給該數(shù)據(jù)源指定一個(gè)JAAS-J2C認(rèn)證數(shù)據(jù)-見(第十五天)IBM Websphere的安裝與優(yōu)化中的數(shù)據(jù)源的創(chuàng)建部分。
好,此時(shí)請(qǐng)不要急著點(diǎn)測(cè)試。
WASND7中有個(gè)BUG,即有時(shí)發(fā)布完一個(gè)資源,并且同步到各個(gè)節(jié)點(diǎn)后并未馬上生效,而是需要物理上重啟各個(gè)“同步的節(jié)點(diǎn)”才會(huì)生效。
因此,我們打開一個(gè)命令行:
第一步:依次stopAppSrv01與AppSrv02
第二步:依次startAppSrv01與AppSrv02
回到我們的admin console界面中。
1)??使用左邊的菜單項(xiàng)中的“WebSphere Application Server集群”。
2)??勾選”mycluster”這個(gè)集群
3)??點(diǎn)[啟動(dòng)]按鈕
我們可以不斷的通過“狀態(tài)”旁的刷新按鈕來監(jiān)控這個(gè)集群?jiǎn)?dòng)狀態(tài)
正在啟動(dòng)狀態(tài)
啟動(dòng)成功狀態(tài)
啟動(dòng)成功后該集群mycluster中的各個(gè)節(jié)點(diǎn)的狀態(tài)都應(yīng)該為“綠色箭頭”。
回到數(shù)據(jù)源主窗口,此時(shí)我們可以測(cè)試這個(gè)數(shù)據(jù)源的連接是否正常了。
如果數(shù)據(jù)源測(cè)試成功因該顯示如下信息
一、在WebSphere集群環(huán)境中布署企業(yè)級(jí)應(yīng)用
我們將使用在(第十五天)IBM Websphere的安裝與優(yōu)化中的第5.3小節(jié)的通過Ant腳本打包出來的EAR包來進(jìn)行布署。
應(yīng)用程序->新建應(yīng)用程序
下一步
下一步
這邊的作用域一定要按照如下圖所選啊。
同時(shí)要確保“服務(wù)器”(即Target)這欄中顯示的內(nèi)容即有包含cell又有包含cluster。
如果只包含cell那么:
1)??請(qǐng)勾選這個(gè)“選擇”前的checkbox
2)??然后在上部的“集群和服務(wù)器”中選擇正確的即有cell又有cluster的下拉項(xiàng),然后點(diǎn)應(yīng)用,使得服務(wù)器(即Target)所顯示的內(nèi)容即有cell又有cluster
下一步
綁定工程中的數(shù)據(jù)源與WASND中剛才設(shè)置的數(shù)據(jù)源。
下一步
下一步下一步一直到出現(xiàn)最后確認(rèn)信息的對(duì)話框,對(duì)[完成]按鈕
別忘了點(diǎn)“保存”啊,再提醒一下
消息輸出完成后點(diǎn)[確定]
一個(gè)企業(yè)級(jí)應(yīng)用即ear包剛被布署到集群環(huán)境中,它的狀態(tài)是不可用的,請(qǐng)按照如下圖操作,使得該應(yīng)用能夠被啟用。
一個(gè)企業(yè)級(jí)應(yīng)用啟動(dòng)成功后的顯示界面
此時(shí)我們來看:
D:\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\shnlap93Cell01目錄下
看到?jīng)]有,自動(dòng)已經(jīng)布署了這個(gè)ear。
那么集群間的節(jié)點(diǎn)是同步的,好!
我們?cè)賮砜碊:\IBM\WebSphere\AppServer\profiles\AppSrv02\installedApps\shnlap93Cell01目錄下
看到?jīng)]有,也已經(jīng)被自動(dòng)布署了這個(gè)ear文件了。
集群上發(fā)布應(yīng)用,節(jié)點(diǎn)間自動(dòng)同步!!YEAH!!
我們可以試著使用一個(gè)IE,一個(gè)FireFox分別使用:
http://localhost:9080/cbbs與http://localhost:9081/cbbs?這兩個(gè)地址分別來試著登錄我們的應(yīng)用,如果兩個(gè)地址的應(yīng)用都能夠被成功登錄,那就說明我們的應(yīng)用已經(jīng)在集群環(huán)境中發(fā)布成功了。
一、整合IBMHTTPServer與WASND
我們應(yīng)用已經(jīng)在集群環(huán)境中發(fā)布成功了,下面我們來使用我們的IHS來集成我們的WASND吧,必盡在實(shí)際應(yīng)用中我們對(duì)外只有一個(gè)網(wǎng)址即:http://localhost/cbbs,至于它背后有幾個(gè)AppServer對(duì)用戶來說應(yīng)該是“透明”的。
通過服務(wù)器->服務(wù)器類型->web服務(wù)器,我們?cè)谟疫叺牟僮髅姘逯悬c(diǎn)[新建]
我們把我們這個(gè)web server命名為demoweb。
把它安裝在節(jié)點(diǎn):shnlap93Node01上吧(沒關(guān)系,隨便裝哪個(gè)節(jié)點(diǎn)都可以,它會(huì)同步另一個(gè)節(jié)點(diǎn)的配置的)。
下一步
下一步下一步直到完成,別忘了點(diǎn)“保存”。
然后我們得到下面這個(gè)Web Server,請(qǐng)啟動(dòng)這個(gè)Web Server,怎么啟動(dòng)還記么?系統(tǒng)菜單欄中去啟動(dòng)它吧!!!
這是我們剛才建立的一個(gè)Web Server。
確保我們的企業(yè)級(jí)應(yīng)用程序布署的作用域即Target正確。
應(yīng)用程序->應(yīng)用程序類型->WebSphere企業(yè)應(yīng)用程序
用鼠標(biāo)單擊我們剛才布署的這個(gè)應(yīng)用
進(jìn)入這個(gè)“管理模塊”
確保我們的作用域中含有集群,在此我們這個(gè)集群為mycluster,要不然,你后一步生成的IHS的plugin的作用域只能夠用來連接單個(gè)WebSphere節(jié)點(diǎn)與IHS,而不是整個(gè)集群+IHS的配置。
然后我們選中這個(gè)demoweb點(diǎn)[生成插件],點(diǎn)一下這個(gè)[傳播插件]我們可以看到在D:\deployment\HTTPServer\Plugins\config目錄下多了一個(gè)目錄叫demoweb目錄。
把這個(gè)demoweb目錄拷貝到我們的IBMHTTPServer的安裝目錄下去,如果有提示覆蓋請(qǐng)選擇“是,全部”。
如:
我們的HTTPServer是裝在D:\IBM\HTTPServer\
那么我們就把:
D:\deployment\HTTPServer\Plugins\config\下的內(nèi)容全部覆蓋式拷貝到
D:\IBM\HTTPServer\Plugins\config目錄內(nèi)。
然后我們用純文本編輯器打開D:\IBM\HTTPServer\Plugins\config\demoweb\plugin-cfg.xml文件。
第一步:
把所有的d:\deployment\HTTPServer的字樣換成我們的真實(shí)的HTTPServer安裝的目錄,因?yàn)槲覀兊腍TTPServer可能與我們的WAS是安裝在兩臺(tái)不同的機(jī)器上的。
如果你在生成plugins時(shí)使用的IHS的路徑和我們的HTTPServer所在的路徑是一致的,那么你大可跳過這一步。
如我們這邊就需要:
把所有的d:\ deployment\HTTPServe替換成D:\IBM\HTTPServer。
第二步:
在D:\IBM\HTTPServer\Plugins\config\demoweb\plugin-cfg.xml文件內(nèi)找到下面這一行:
| <UriGroup Name="default_host_mycluster_URIs"> |
往下看,我們可以看到如下這些行:
| ? <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/*"/> </UriGroup> |
我們把先把下面這段注釋掉,因?yàn)槲覀兿胱屗械?cbbs下動(dòng)態(tài)的內(nèi)容給我們的WebSphere去解釋,所有的靜態(tài)html內(nèi)容給我們的IHS解析,而不是像它默認(rèn)這樣,所有的動(dòng)態(tài)靜態(tài)全交給了WebSphere去解析,這不是我們想要的。因此我們把這一行注釋掉。
| <!-- ????? <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/*"/> --> |
然后我們?cè)谶@一行下再增加如下幾行:
| <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/WEB-INF/*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/*.action"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/servlet/*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/*.jsp"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/*fckeditor/editor/filemanager/connectors/*.*"/> <Uri AffinityCookie="JSESSIONID" AffinityURLIdentifier="jsessionid" Name="/cbbs/fckeditor/editor/filemanager/connectors/*"/> |
這個(gè)plugin.xml很像“(第十六天)IBM Websphere與IBM HttpServer的集成”中的那個(gè)plugin文件,對(duì)吧?
區(qū)別在于這邊的幾行語句,這個(gè)就是IBM HttpServer與WASND結(jié)合時(shí)的plugin描述語句。
| <ServerCluster CloneSeparatorChange="false" GetDWLMTable="false" IgnoreAffinityRequests="true" LoadBalance="Round Robin" Name="mycluster" PostBufferSize="64" PostSizeLimit="-1" RemoveSpecialHeaders="true" RetryInterval="60"> <Server CloneID="1756mq3p8" ConnectTimeout="5" ExtendedHandshake="false" LoadBalanceWeight="2" MaxConnections="-1" Name="shnlap93Node01_server1" ServerIOTimeout="60" WaitForContinue="false"> ?<Transport Hostname="shnlap93" Port="9080" Protocol="http"/> ?<Transport Hostname="shnlap93" Port="9443" Protocol="https"> ? <Property Name="keyring" Value="D:\IBM\HTTPServer\Plugins\config\demoweb\plugin-key.kdb"/> ?? <Property Name="stashfile" Value="D:\IBM\HTTPServer\Plugins\config\demoweb\plugin-key.sth"/> ?</Transport> </Server> <Server CloneID="1756mq6cs" ConnectTimeout="5" ExtendedHandshake="false" LoadBalanceWeight="2" MaxConnections="-1" Name="shnlap93Node02_server1" ServerIOTimeout="60" WaitForContinue="false"> ??<Transport Hostname="shnlap93" Port="9081" Protocol="http"/> ??<Transport Hostname="shnlap93" Port="9444" Protocol="https"> ?? <Property Name="keyring" Value="D:\IBM\HTTPServer\Plugins\config\demoweb\plugin-key.kdb"/> ? ?<Property Name="stashfile" Value="D:\IBM\HTTPServer\Plugins\config\demoweb\plugin-key.sth"/> ? </Transport> </Server> <PrimaryServers> ?????????<Server Name="shnlap93Node01_server1"/> ?????????<Server Name="shnlap93Node02_server1"/> </PrimaryServers> </ServerCluster> |
第三步:
打開D:\IBM\HTTPServer\conf目錄下的httpd.conf文件,最后幾行確保是以下內(nèi)容:
| LoadModule was_ap20_module "d:\IBM\HTTPServer\Plugins\bin\mod_was_ap20_http.dll" WebSpherePluginConfig "d:\IBM\HTTPServer\Plugins\config\demoweb\plugin-cfg.xml" <VirtualHost *:80> ServerName shnlap93 ServerAlias shnlap93 ServerAdmin admin@shnlap93 DocumentRoot d:/www DirectoryIndex index.htm index.html index.jsp <Directory "D:/www/cbbs"> ??? Options None ??? AllowOverride None ??? Order allow,deny ???????? ?Allow from all </Directory> </VirtualHost> |
第四步:
保存我們修改的httpd.conf文件,保存我們修改的plugins文件,重啟我們的IBM HTTPServer。
如果一切無誤,那么我們先來書寫一個(gè)index.htm文件,并把它放在我們的d:\www\cbbs目錄下,其內(nèi)容如下:
| <html> <head> <META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://shnlap93/cbbs/index.jsp"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>loading</title> <body> Loading… </body> </html> |
然后我們打開一個(gè)IE,輸入:?http://localhost/cbbs/,得到我們的應(yīng)用的登錄界面,輸入相關(guān)的用戶名與密碼登錄后,進(jìn)行一些操作,一切無誤:
然后我們?cè)俅蜷_一個(gè)firefox,輸入:?http://localhost/cbbs/,得到我們的應(yīng)用的登錄界面,輸入另一個(gè)用戶名與密碼登錄后,進(jìn)行一些操作,一切無誤:
我們看:
D:\IBM\WebSphere\AppServer\profiles\AppSrv01\logs\server1目錄下的SystemOut.log文件
再看:
D:\IBM\WebSphere\AppServer\profiles\AppSrv02\logs\server1目錄下的SystemOut.log文件
這說明我們我們通過兩個(gè)不同的瀏覽器使用兩個(gè)用戶在訪問集群環(huán)境時(shí):
一個(gè)用戶名被分流到的AppSrv01中去;
另一個(gè)用戶在登錄時(shí)則被分流到了AppSrv02中去;
WebSphere的集群+IBM HTTPServer集成成功,結(jié)束今天的教程。
轉(zhuǎn)載于:https://my.oschina.net/baochanghong/blog/367878
總結(jié)
以上是生活随笔為你收集整理的通向架构师的道路(第十七天)IBM Websphere集群探秘-WASND的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Citrix桌面及应用虚拟化系列之三:活
- 下一篇: ZeroMQ接口函数之 :zmq - 0