第 17 章
BEA WebLogic Server
設定 Portal Server 於 BEA 叢集
本節會簡短說明 Sun Java System Portal Server 軟體如何與 BEA WebLogic Server 叢集一起使用並會提出範例。
|
備註
|
- 針對叢集,所有機器必須位於相同子網路上。所有參與叢集的 BEA WebLogic Server 實例必須偵聽於相同通訊埠。需要使用三個執行 Portal Server 軟體的受管理的伺服器,以確保 Portal Server 軟體能成功地使用階段作業的防故障備用功能。
- 若計劃使用叢集,則請不要執行 perftune。
- 需要用於代理伺服器的叢集 servlet 為 weblogic.servlet.proxy.HttpClusterServlet。
- Resonate 3.3 無法平衡負載 BEA WebLogic 叢集。
|
|
此範例共有五部機器。所有機器必須位於相同子網路上。 一個具有 Identity Server 和 Directory Server (IS)。另一個為 BEA WebLogic 管理伺服器 (AS)。有三個叢集機器 (CS1、CS2,與 CS3)。叢集需要負載平衡。在此範例中,代理伺服器位於管理伺服器上。
在 IS 機器上安裝 Identity Server 和 Directory Server。使用預設安裝在其他四個機器上安裝 BEA WebLogic Server。檢查所有伺服器是否正確運作。在安裝有 BEA WebLogic Server 的管理伺服器 (AS) 機器上,使用 BEA WebLogic 指示建立由管理伺服器 (偵聽連接埠為 80) 所構成的新網域 (NEWDOMAIN)。實例的名稱應該是 PORTALSERVER。
在 AS 機器上安裝 Sun Java System Portal Server 軟體,其細節如下。
- 伺服器連接埠: 80
- 伺服器網域:NEWDOMAIN
- 伺服器名稱:PORTALSERVER
- 管理伺服器:否
在其他三台使用 BEA WebLogic Server 的機器上,使用 BEA WebLogic 指示建立新領域 (NEWDOMAIN 於所有機器上),其中包含具有 7001 (ADMINSERVER 於所有三台機器上) 偵聽連接埠的管理伺服器,以及具有 80 (PORTALSERVER 於所有三台機器上) 偵聽連接埠的伺服器。每個偵聽連接埠應該相同;範例使用 80。
下一步,在三台機器上安裝 Portal Server 軟體至管理伺服器實例 (PORTALSERVER),使具備如下詳細資料。
在機器 AS、CS1、CS2 和 CS3 上執行部署入口網站所需要的步驟,如第 2 章所述。
若要設定叢集:
在安裝有 BEA WebLogic Server 的管理伺服器 (AS) 機器上,使用 BEA WebLogic 指示建立偵聽連接埠為 7001 的新伺服器實例,並使該實例成為管理伺服器實例。
- 使用管理機器 AS 的管理主控台 (http://AS:7001/console),為每個要位於叢集的機器建立伺服器。
- 選取伺服器,配置新伺服器。
- 使用機器名稱作為新的伺服器名稱:CS1、CS2 與 CS3。
- 停止要位於叢集中機器上的所有伺服器。
- 重新啟動那些伺服器,但將其連接至管理伺服器 AS。例如,
./startManagedWebLogic.sh CS1 AS:7001
- 使用管理機器 AS 的管理主控台 (http://AS:7001/console),建立叢集。
- 選取 [叢集]、[配置新叢集]。
至於名稱,範例使用 NEWCLUSTER。
- 至於位址,置於代表將叢集的機器的伺服器名稱中:CS1、CS2、CS3。
- 在相同視窗中,選取 [伺服器] 標籤,然後選取 CS1、CS2 與 CS3 伺服器;將其從 [可用] 方塊移動至 [所選] 方塊。
如需詳細資訊,請查閱 BEA WebLogic Server 指示以設定叢集。
設定叢集時請記得下列事項:
- 每次變更叢集配置時停止並重新啟動所有伺服器。
- 在 NEWDOMAIN ADMINSERVER BEA WebLogic Server 管理主控台的管理伺服器 (AS) 機器上設定叢集。
- 使用 BEA WebLogic Server 工具測試多點傳送。
檢查並查看是否有正確設定叢集:至 BEA WebLogic Server 管理主控台,在左窗格中選取 [叢集],在右窗格中選取 [監控] 標籤,然後在叢集中選取 [監視器] 伺服器。若一個或多個已啟動伺服器的實例沒有出現於顯示中,則使用 BEA WebLogic Server 工具檢驗多點傳送位址與連接埠編號是否正確。
|
備註
|
若您想要從管理主控台遠端啟動並停止 BEA WebLogic 受管理伺服器,則您必須配置並執行 BEA Node Manager。請參閱 BEA WebLogic Server 文件以取得詳細資訊。
|
|
若您計劃使用代理伺服器 servlet 進行負載平衡,請為叢集建立 web.xml 和 weblogic.xml 檔案以用來配置負載平衡 servlet。使用暫存目錄建立一個子目錄 WEB-INF。 web.xml 和 weblogic.xml 檔案是目錄 (WEB-INF) 中僅有的檔案。使用檔案中完全合格的機器名稱。
程式碼範例 17-1 範例 web.xml 檔案
|
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.
|
//DTD Web Application 2.2//EN"
|
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
|
|
<web-app>
|
|
<servlet>
|
<servlet-name>HttpClusterServlet</servlet-name>
|
<servlet-class>
|
weblogic.servlet.proxy.HttpClusterServlet
|
</servlet-class>
|
|
<init-param>
|
<param-name>WebLogicCluster</param-name>
|
<param-value>
|
CS1.domain.COM:80:7002|CS2.domain.COM:80:7002|CS3.domain.COM:80:7002
|
</param-value>
|
</init-param>
|
|
</servlet>
|
|
<servlet-mapping>
|
<servlet-name>HttpClusterServlet</servlet-name>
|
<url-pattern>/</url-pattern>
|
</servlet-mapping>
|
|
<servlet-mapping>
|
<servlet-name>HttpClusterServlet</servlet-name>
|
<url-pattern>*.jsp</url-pattern>
|
</servlet-mapping>
|
|
<servlet-mapping>
|
<servlet-name>HttpClusterServlet</servlet-name>
|
<url-pattern>*.htm</url-pattern>
|
</servlet-mapping>
|
|
<servlet-mapping>
|
<servlet-name>HttpClusterServlet</servlet-name>
|
<url-pattern>*.html</url-pattern>
|
</servlet-mapping>
|
|
</web-app>
|
|
程式碼範例 17-2 範例 weblogic.xml 檔案
|
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
"http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
|
|
<weblogic-web-app>
|
<context-root>/</context-root>
|
</weblogic-web-app>
|
|
- 使具備叢集伺服器值的 web.xml 成為 .war 檔案。在終端機視窗中輸入:
jar cvf proxy.war WEB-INF
- 複製 .war 檔案到管理機器 (AS) 的 NEWDOMAIN 中的應用程式目錄
- 部署 proxy.war 到 PORTALSERVER 實例。
下一步您必須將 Portal Server 軟體部署至叢集中。
- 請至管理伺服器的 BEA WebLogic Server 管理主控台 (AS;7001/主控台)。
- 在左窗格中展開 Web 應用程式,然後選取入口網站。
- 按一下 [目標] 標籤。 取消核取 PORTALSERVER,然後核取 [叢集中所有的伺服器] 並按一下 [套用]。
- 停止並重新啟動所有伺服器。針對受管理伺服器,在每部機器上,輸入:
./startManagedWebLogic.sh managed-servername http://AS.example.com:7001