Sun Java System Web Server 7.0 管理員指南

第 4 章 部署案例

本章說明如何在單一節點和叢集環境中部署 Sun Java System Web Server 7.0。本章將討論以下主題:

部署架構

本節說明了單一節點部署架構。

下圖說明單一節點部署設定中的 Web Server。

單一節點部署設定中的 Web Server。

在此圖中,Web Server 部署設定包含下列元件:

部署簡介

您可以考慮在單一節點上部署 Web Server 以達到以下目的:

以下流程圖提供在節點上部署 Web Server 的概要說明:

圖 4–1 說明在單一節點上部署 Web Server 的流程圖

說明在節點上部署 Web Server 之步驟的流程圖。

部署程序將在以下各節中說明:

部署前置作業需求

若要在單一節點上部署 Web Server,請執行以下作業讓系統做好準備:

  1. 在節點上安裝 Web Server。

    如果在安裝 Web Server 時選擇 [快速安裝] 選項,將會建立以下預設實體:

    • Administration Server。

    • 建立包含一個 HTTP 偵聽程式和虛擬伺服器的預設配置。配置和虛擬伺服器的名稱與主機名稱相同。

    • 預設配置的實例。

    如需有關安裝 Web Server 的資訊,請參閱「Sun Java System Web Server 7.0 Installation and Migration Guide」中的第 2 章「Installing the Web Server」

    如需有關支援的平台與系統需求的資訊,請參閱「Sun Java System Web Server 7.0 版本說明」中的「支援的平台」

  2. 啟動 Administration Server。

    Administration Server 在指定的 SSL 連接埠上開始執行。

部署 Web Server

使用以下程序在節點上部署 Web Server:

  1. 您可以使用預設配置或建立新配置。

    如果要建立新配置,請為配置指定唯一名稱。新配置會建立虛擬伺服器和預設的 HTTP 偵聽程式。


    備註 –

    如果要使用管理主控台建立配置,精靈將提示您建立新實例。如果要使用 CLI,則必須使用 create-instance 指令明確建立配置實例。


    所有配置都儲存在 <install_dir>/admin-server/ 目錄下的 config-store 目錄中。


    注意 – 注意 –

    請勿編輯 config-store 目錄下的任何檔案。此目錄下的檔案由 Sun Java System Web Server 建立以供內部使用。


  2. 部署已修改的配置。

叢集環境

叢集是多個伺服器實例的群組,跨越一個以上的節點,全部執行相同的配置。叢集中的所有實例協同作業,以提供高可用性、穩定性和可延伸性。

藉由負載平衡,叢集可提供容錯移轉和階段作業複製功能,讓服務得以不中斷、階段作業資料擁有持續性。

硬體和軟體要求

依據本節說明的使用案例,Web Server 叢集由以下實體組成:

1) 四個實例 (在四個相同節點上執行) 

2) 一台管理伺服器 

3) 一台用於對 HTTP 請求進行負載平衡的反向代理伺服器 

若要設定叢集,需要兩個以上安裝相同作業系統版本和修補程式的相同節點。例如,如果選取安裝有 Solaris® 9 SPARC® 作業系統的機器,則叢集中的其他機器也必須安裝有 Solaris 9 SPARC。

如需有關支援的平台和修補程序需求的資訊,請參閱「Sun Java System Web Server 7.0 版本說明」

下圖說明了叢集環境。

圖 4–2 叢集設定

說明叢集設定的圖。

在此圖中,節點是在非警戒區域 (DMZ) 中配置的。管理伺服器是在防火牆 (警戒區域) 後配置的,用於限制和避免所有人存取管理伺服器。另一個節點配置為反向代理伺服器。反向代理伺服器位於 DMZ 之內,以提高安全性。


備註 –

僅 Solaris 10 作業系統支援 Solaris Zone 功能。


設定叢集

本節說明設定叢集和啟用反向代理伺服器,來支援對 HTTP 請求進行負載平衡的程序。

以下流程圖說明設定叢集的程序。

圖 4–3 說明叢集設定的流程圖

說明設定叢集之步驟的流程圖。

  1. 在其中一個節點上,將 Web Server 安裝為叢集中的 Administration Server。

  2. 在其他三個節點上安裝 Web Server。選取將 Web Server 安裝為管理節點的選項。在安裝期間,請選擇向伺服器註冊節點的選項。

  3. 請確定管理伺服器是使用 SSL 連接埠進行通訊,因為只能在安全模式下向伺服器註冊管理節點。

  4. 請確定安裝 Administration Server 和管理節點的所有節點,都有相同的系統日期與時間。建立與伺服器關聯的憑證時,需依據 Administration Server 安裝所在節點的系統日期和時間。如果管理節點的系統日期早於 Administration Server,註冊將會失敗,因為 Administration Server 的憑證尚未有效。同理,如果憑證已過期,可能仍被視為有效。

  5. install_dir/admin-server/bin/ 目錄啟動 Administration Server。

    install_dir/admin-server/bin>./startserv

  6. 從管理節點啟動 wadm 指令行工具。wadm 指令行工具位於 install_dir/bin 目錄中。

    install_dir/bin>./wadm

  7. 向 Administration Server 註冊每個管理節點。使用 register-node 指令向伺服器註冊每個節點。

    例如:


    ./wadm register-node -user=admin --host=abc.sfbay.sun.com --port=8989

    其中,

    abc.sfbay.sun.com

    是向其註冊管理節點的 Administration Server 之主機名稱。

    port

    是 Administration Server 的 SSL 連接埠號。

  8. 系統將提示您輸入管理密碼。請輸入 Administration Server 的管理密碼。

    Administration Server 與管理節點彼此互相認證,即 Administration Server 信任管理節點的伺服器憑證,管理節點信任 Administration Server 提供的用戶端憑證。在管理節點註冊期間,管理伺服器會產生該管理節點的伺服器憑證,此憑證之後會被下載並安裝到管理節點上。伺服器憑證的核發者也會安裝在管理節點上。


    備註 –

    註冊只能透過 SSL 來完成。


    如需有關註冊節點的資訊,請參閱「Sun Java System Web Server 7.0 Installation and Migration Guide」中的「Registering the Administration Node From the Command-Line」

  9. install_dir /admin-server/bin/ 目錄使用 startserv 指令來啟動所有管理節點。

  10. 使用管理主控台或 CLI 在 Administration Server 中建立新配置。

    為新配置提供配置資訊,如配置名稱、HTTP 偵聽程式連接埠及伺服器名稱。

  11. 在所有節點上建立配置實例。

  12. 啟動所有節點上的實例。


    備註 –

    Web Server 為延伸或減少叢集提供靈活性。您可以隨時在叢集中增加或移除實例。


配置用於負載平衡的反向代理伺服器

Web Server 7.0 提供先進的內建負載平衡器,即反向代理伺服器。反向代理伺服器是伺服器機群中 Web Server 的閘道。透過配置反向代理伺服器,請求會轉寄到多台配置類似的 Web Server。

請在 Web Server 7.0 中使用以下程序啟用反向代理伺服器:

  1. 在要用於配置反向代理伺服器的節點上安裝 Web Server。

  2. 建立配置。例如 rp

  3. 使用管理主控台,選取 [配置] > [虛擬伺服器] > [內容處理] > [反向代理伺服器] 標籤。按一下 [新增] 按鈕。

  4. 輸入叢集中所有機器的反向代理伺服器 URI 和伺服器 URL (以逗號分隔)。

    伺服器 URL 的輸入格式為 hostname:portnumber

  5. 儲存變更。

  6. 部署已修改的配置,將變更套用至此配置。

  7. 啟動此已修改配置的所有實例。

此舉可完成反向代理伺服器的配置,以便對 HTTP 請求進行負載平衡。

階段作業複製

階段作業複製機制用於在不同實例之間,複製儲存在階段作業中的資料。但是所複製的實例必須屬於同一個叢集。在叢集環境中啟用階段作業複製時,整個階段作業資料會複製到複製的實例上。 但是階段作業複製操作並不會複製階段作業中的不可串列屬性,以及任何實例專屬的資料。

階段作業複製和負載平衡功能可為 Web 應用程式提供良好的容錯移轉功能。

階段作業複製與容錯移轉操作

本節將詳細說明階段作業複製操作。

Web 請求結束後,Web Server 將決定是否需要透過儲存在伺服器配置檔案 server.xml 中的階段作業複製配置,來複製階段作業資料。

現在研究由四個實例形成一個叢集、並在 Administration Server 上啟用階段作業複製的使用案例。

在由執行於四個節點上的四個實例 (A、B、C 和 D) 所組成的 Web Server 叢集中,階段作業複製的程序如下:

Web Server 叢集環境中的容錯移轉程序運作方式如下:

Web Server 7.0 在階段作業複製中不支援以下功能:

啟用階段作業複製

您可以使用管理主控台或 CLI 在叢集中啟用階段作業複製。啟用階段作業複製前,請確定瀏覽器已啟用 cookie。

server.xml 檔案包含與階段作業複製相關的資訊。以下是已啟用階段作業複製的 server.xml 檔案範例:

<cluster>
		<local-host>hostA</local-host>
			<instance>
         <host>hostB</host>
      </instance>
      <instance>
          <host>hostC</host>
      </instance>
       <instance>
          <host>hostD</host>
      </instance>
      <instance>
           <host>hostA</host>
    <session-replication/>
</cluster>
			

如果使用的不是以下元素的預設值,則在 server.xml 配置檔案中將無法使用這些元素的項目。

連接埠號 (預設為 1099)

通訊協定 (預設為 jrmp)

已加密 (預設為 false)

Getattribute 觸發複製 (預設為 true)

複製探索最大躍點數 (預設為 –1)

啟動探索逾時 (預設為 ?)

Cookie 名稱 (預設為 CLUSTERSESSIONLOCATOR)

如需有關這些階段作業複製特性的更多資訊,請參閱「Sun Java System Web Server 7.0 Administrator’s Configuration File Reference」

為階段作業複製配置 Web 應用程式

若要啟用伺服器以複製階段作業,還必須為階段作業複製啟用 Web 應用程式。

  1. 若要為 Web 應用程式啟用階段作業複製,請修改位於 <web-application>/WEB-INF 目錄中的 sun-web.xml 配置檔案。

    按照下列方式在 sunweb.xml 中執行所需的修改:

    將元素 <session-manager/> 變更為 <session-manager persistence-type="replicated">

    以下是已啟用階段作業複製的 sun-web.xml 檔案範例:

    <sun-web-app>
    		<session-config>
         <session-manager persistence-type="replicated">
         </session-manager>
      </session-config>
    </sun-web-app>
  2. 修改 sunweb.xml 檔案後,請重建 Web 應用程式或重新以 jar 壓縮應用程式,以建立 Web 應用程式歸檔 (war 檔案)。

  3. 重新啟動所有實例,以使 Web 應用程式在所有實例上均可用。

  4. 您可以從叢集中的所有節點存取 Web 應用程式。若要存取 Web 應用程式,請在瀏覽器中鍵入以下項目:

    http://webserver-name/webapplication-name/


    備註 –

    所有節點均可存取的目錄,最適用於儲存應用程式以進行部署。但是,Administration Server 並不需要可對此目錄進行存取。建議對大小超過 1 MB 的 Web 應用程式進行基於目錄的部署。

    若要建立搜尋集合,請確保搜尋集合位於所有節點均可存取的共用目錄中。


監視叢集

Administration Server 可監視叢集中的所有實例。Web Server 的監視功能可提供有關執行階段元件的狀態,和可用於執行以下操作的程序之資訊:

 

Solaris Zones

Solaris Zones 是 Solaris 10 的一項應用程式和資源管理功能。Zone 環境通常由各種資源組成,如程序管理、記憶體、網路配置、檔案系統、套裝軟體登錄、使用者帳號及共用程式庫,在某些情況下還包括安裝的應用程式。Zones 功能提供了在 Solaris 實例內建立虛擬化作業系統環境的方法,允許一個或多個程序單獨執行,與系統上的其他作業隔離。它還提供了一個抽象層,將應用程式與部署這些應用程式的機器之實體屬性分隔開來,如實體裝置路徑、網路介面名稱及網路路由表。這種隔離可防止在指定區域內執行的程序,去監視或影響在其他區域中執行的程序,而無論使用者 ID 和其他憑證資訊為何。

區域是一個沙箱,一個或多個應用程式均可在其中執行,而不會影響系統的其餘部分或進行互動。

如需有關 Solaris Zones 的詳細資訊,請參閱 http://docs.sun.com/app/docs/doc/817-1592 上的「System Administration Guide — Solaris Containers-Resource Management and Solaris Zones」。