Sun ONE logo      上一頁      目錄      索引      下一頁     

Sun ONE Portal Server 6.2 安裝手冊

附錄B
BEA WebLogic Server


設定 Sun ONE Portal Server 於 BEA 叢集

本節會簡短說明並提出 Sun™ ONE Portal Server 軟體可與 BEA WebLogic Server™ 叢集一起使用的方法。


備註

  • 針對叢集,所有機器必須位於相同子網路上。所有參與叢集的 BEA WebLogic Server 實例必須傾聽於相同通訊埠。為了成功使用階段作業修復來執行 Portal Server 軟體,您需要三個執行 Portal Server 軟體的受管理伺服器。
  • 若計畫使用叢集,則請不要執行 perftune
  • SRA 無法與叢集一起使用。
  • BEA WebLogic Server 代理伺服器無法負載平衡。BEA WebLogic 叢集的所有伺服器實例必須使用相同傾聽通訊埠。新叢集 servlet 需要用於 weblogic.servlet.proxy.HttpClusterServlet
  • Resonate 3.3 無法平衡負載 BEA WebLogic 叢集。

例如,我們有五部機器。所有機器必須位於相同子網路上。其中一個僅有一個目錄伺服器 (DSmach)。另一個為 BEA WebLogic 管理伺服器 (AS)。有三個叢集機器 (CS1、CS2,與 CS3)。若您希望支援負載平衡,需要將額外的機器或管理伺服器機器配置為負載平衡的代理伺服器 servlet。您可能也會使用以硬體為基礎的負載平衡程式。叢集需要負載平衡。在此範例中,代理伺服器位於管理伺服器上。

在 Dsmach 上安裝目錄 伺服器。使用預設安裝在其他四個機器上安裝 BEA WebLogic Server。檢查所有伺服器是否正確運作。

在四個使用 BEA WebLogic Server 的機器上,使用 BEA WebLogic 指示,建立新領域 (NEWDOMAIN 於所有機器上),其由具有 7001 (ADMINSERVER 於所有機器上) 傾聽連接埠的管理伺服器與另一個具有 80 傾聽連接埠 (PORTALSERVER 於所有機器上) 的伺服器組成。每個傾聽連接埠應該相同;範例使用 80。

下一步在四個機器上安裝 Portal Server 軟體至受管理伺服器實例 (PORTALSERVER)。

  1. 回應 n 問題:使用這些設定嗎?[y]/n
  2. 問題清單在其後。

  3. 接受預設值除了這些問題之外。這些問題顯示需要變更的值與重要預設值。此範例是針對 BEA WebLogic Administration Server。叢集機器的安裝值相似。
  4. 應用程式伺服器領域是什麼?[mydomain] NEWDOMAIN

    應用程式伺服器實例是什麼?[myserver] PORTALSERVER

    應用程式伺服器管理通訊埠是什麼? [7001]

    應該使用哪個通訊埠存取 Portal Server? [80]

    是否使用現有「目錄伺服器」? y/[n] y

    目錄伺服器的名稱為何?[...] DSmach

    正確回答關於目錄伺服器的問題。

  5. 停止並重新啟動所有機器上的伺服器 (Portal Server、受管理的伺服器與管理伺服器)。
  6. 檢查並查看安裝是否成功。
  7. 以管理員的身份登入至 Sun ONE Identity Server 管理主控台。
  8. 依預設,已選取位置窗格中的 [識別管理] 且 [所有已建立的組織] 已顯示於導覽窗格中。

  9. 選擇位置窗格中的「服務配置」。
  10. 按一下導覽窗格中平台旁邊的「屬性」箭頭。
  11. 檢查「伺服器清單」是否有 full-ps-servername 以供您要放置代理伺服器的機器使用。範例中,我們的機器為 http://AS.example.com:80
  12. 按一下「儲存」。

若要設定叢集:

  1. 使用管理機器 AS 的管理主控台 (http://AS:7001/console),為每個要於叢集的機器建立伺服器。
    1. 選取「伺服器」、「配置新伺服器」。
    2. 新的 servername 使用機器名稱: CS1、CS2 與 CS3。
  2. 停止要位於叢集中機器上的所有伺服器。
  3. 重新啟動那些伺服器,但將其連接至管理伺服器 AS。例如,
  4. ./startManagedWebLogic.sh CS1 AS:7001

  5. 使用管理機器 AS 的管理主控台 (http://AS:7001/console),建立叢集。
    1. 選取「叢集」、「配置新叢集」。
    2. 至於名稱,範例使用 NEWCLUSTER。

    3. 至於位址,置於代表將叢集的機器的伺服器名稱中:CS1、CS2、CS3。
    4. 在相同視窗中,選取「伺服器」標籤,然後選取 CS1、CS2 與 CS3 伺服器;將其從「可用」方塊移動至「所選」方塊。

如需詳細資訊,請查閱 BEA WebLogic Server 指示以設定叢集。

設定叢集時請記得下列事項:

檢查並查看是否有正確設定叢集:至 BEA WebLogic Server 管理主控台,在左窗格中選取「叢集」,在右窗格中選取「監控」標籤,然後在叢集中選取「監視器」伺服器。若一個或多個已啟動伺服器的實例沒有出現於顯示中,則使用 BEA WebLogic Server 工具檢驗多點傳送位址與連接埠編號是否正確。


備註

若您想要從管理主控台遠端啟動並停止 BEA WebLogic 受管理伺服器,則您必須配置並執行 BEA Node Manager。請參閱 BEA WebLogic Server 文件以取得詳細資訊。


若您將要使用代理伺服器以平衡負載,則請建立 web.xml 檔案讓叢集使用以配置負載平衡 servlet。使用暫存目錄建立一個子目錄 WEB-INFweb.xml 檔案是目錄中唯一的檔案 (WEB-INF)。使用檔案中完全合格的機器名稱。

圖 B-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>

  1. web.xml 與叢集伺服器值加入 .war 檔案。在終端機視窗中輸入:
  2. jar cvf proxy.war WEB-INF

  3. 使用 BEA WebLogic Server 軟體提供的 java weblogic.deploy 指令將 .war 檔案部署於 BEA WebLogic 管理伺服器上。
  4. 在管理伺服器的 BEA WebLogic Server 管理主控台上,展開伺服器並選取 PORTALSERVER:80。
  5. 按一下「HTTP」標籤。
  6. 將「預設 Web 應用程式」設定為代理伺服器。
  7. 重新啟動 Portal Server。
  8. 或建立 .war 檔案之後,在管理機器 (AS) 上的新領域中複製 .war 檔案至應用程式目錄。

  9. 選取 Web 應用程式。
  10. 按一下「配置新 Web 應用程式」。
  11. 輸入代理伺服器為名稱並給予 .war 檔案的完整路徑。
  12. 按一下「建立」。
  13. 在左窗格中 Web 應用程式之下,按一下「代理伺服器」。
  14. 在右窗格中,按一下「目標」標籤並將 Portal Server 從「可用」方塊移至「所選」方塊。

下一步您必須將 Portal Server 軟體部署至叢集中。針對每個 Web 應用程式 (amconsole、amserver、amcommon、ampassword 與 portal),請遵守下列步驟。

  1. 請至管理伺服器的 BEA WebLogic Server 管理主控台 (AS:7001/主控台)。
  2. 展開左窗格中的 Web 應用程式,然後選取 Portal Server 軟體 Web 應用程式之一 (amconsole、amserver、amcommon、ampassword 與 portal)。
  3. 解除部署管理伺服器 (您已安裝入口網站至 PORTALSERVER 伺服器,但其不是叢集的一部分,所以現在您將其從此伺服器中移除)。
    1. 選取「目標」標籤,然後選取「伺服器」子標籤。
    2. 將伺服器名稱從「所選」方塊移動至「可用」方塊,並按一下「套用」。
  4. 按一下「編輯 Web 應用程式描述元」連結;按一下「配置新 Web 應用程式擴展描述元」連結。
  5. 在 Web 應用程式擴展之下的左窗格中,選取「階段作業描述元」。
  6. 在右窗格中,將「永久儲存類型」變更為重複。按一下「套用」。
  7. 在左窗格、Web 描述元或 Identity Server 服務中選取頂曾主題。選取「繼續」。關閉這個視窗。
  8. 選取「目標」標籤,然後選取「叢集」子標籤。
  9. 將叢集名稱 (NEWCLUSTER) 從「可用」方塊移動至「所選」方塊,並按一下「套用」。
  10. 針對三個 Portal Server 中的每部機器,請至 identity-server-install-root/SUNWam/lib 目錄並使用文字編輯器開啟 AMConfig.properties 檔案。
  11. 在所有機器上設定下列值:
  12. com.iplanet.am.session.failover.enabled=true

    com.iplanet.am.replica.enable=true

    com.iplanet.am.naming.url=http://AS.example.com:80/amserver/namingservice

    com.iplanet.am.notification.url=http://AS.example.com:80/amserver/notificationservice

    com.iplanet.am.session.server.host=AS.example.com

    com.iplanet.am.server.host=ASNMS.example.com

    com.iplanet.services.cdsso.CDCURL=http://AS.example.com:80/amserver/cdcservlet

    com.iplanet.services.cdc.authLoginUrl=http://AS.example.com:80/amserver/login

  13. 停止並重新啟動所有伺服器。針對受管理伺服器,在每部機器上,輸入:
  14. ./startManagedWebLogic.sh managed-servername http://AS.example.com:80

  15. 檢查並查看是否運作正常。


設定 Cookie 編碼值

當目標 Web 容器為 BEA WebLogic Server 或 WebSphere Application Server 時,AMConfig.properties 檔案中的 com.iplanet.am.cookie.encode 屬性應設定為「True」。因為 WebLogic 不會自動編碼由網路應用程式設定的 cookie 值,所以這是很重要的。

在 BEA WebLogic Server 與 IBM WebSphere Application Server 之下設定 com.iplanet.am.cookie.encode 為「True」將避免逗號、分號與空格之類的字元由 Sun ONE Identity Server 設定在 cookie 值中而沒有退出或編碼。當逗號、分號與空格之類的字元直接設定為 cookie 值而沒有編碼或退出,則某些網路瀏覽器將不會正確頗析 cookie 值。因此,應用程式將會在接下來的請求中接收已毀壞的 cookie 值。

當目標 Web 容器為 WebLogic 時,請編輯 AMConfig.properties 檔案並將 com.iplanet.am.cookie.encode 屬性的值設定為 True。



上一頁      目錄      索引      下一頁     


Copyright 2003 Sun Microsystems, Inc. 保留所有權利。