Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性管理指南

配置 Web 伺服器以用於負載平衡

負載平衡外掛程式安裝程式將對 Web 伺服器的配置檔案進行一些修改。所作的變更取決於該 Web 伺服器。


備註 –

負載平衡器外掛程式可隨 Sun Java System Application Server Enterprise Edition 一起安裝,也可在執行支援的 Web 伺服器的機器上單獨安裝。如需有關安裝程序的完整詳細資訊,請參閱「Sun Java System Application Server Enterprise Edition 8.1 2005Q2 Installation Guide」中的第 1 章「Installing Application Server Software」(如果使用獨立的 Application Server) 或「Sun Java Enterprise System 2005Q5 Installation Guide」(如果使用 Java Enterprise System)。


對 Sun Java System Web Server 的修改

安裝程式會將以下項目增加至 Sun Java System Web Server 的配置檔案︰

對於 Web 伺服器實例的 magnus.conf 檔案,會增加︰

##EE lb-pluginInit 
fn="load-modules"
shlib="web_server_install_dir/plugins/lbplugin/bin/libpassthrough.so" 
funcs="init-passthrough,service-passthrough,name-trans-passthrough" Thread="no"
Init fn="init-passthrough"
##end addition for EE lb-plugin

對於 Web 伺服器實例的 obj.conf 檔案,會增加︰

<Object name=default>
NameTrans fn="name-trans-passthrough" name="lbplugin" 
config-file="web_server_install_dir/web_server_instance/config/loadbalancer.xml"
<Object name="lbplugin">
  ObjectType fn="force-type" type="magnus-internal/lbplugin"
  PathCheck fn="deny-existence" path="*/WEB-INF/*"
  Service type="magnus-internal/lbplugin" 
  fn="service-passthrough"
  Error reason="Bad Gateway" 
  fn="send-error" 
  uri="$docroot/badgateway.html"
</object>

在上述程式碼中,lbpluginObject 的唯一識別名稱;web_server_install_dir/web_server_instance/config/loadbalancer.xml 是虛擬伺服器 (負載平衡器即配置要在此執行) 的 XML 配置檔案位置。

安裝之後,請依循設定 HTTP 負載平衡中的說明配置負載平衡器。

使用 Apache Web Server

若要使用 Apache Web Server,您必須在安裝負載平衡外掛程式之前執行特定的配置步驟。負載平衡外掛程式安裝也會對 Apache Web Server 做出其他修改。安裝外掛程式後,必須執行其他配置步驟。


備註 –

在 Apache 1.3 上,當多個 Apache 子程序執行時,每個程序都有自己的負載平衡循環序列。例如,如果有兩個 Apache 子程序正在執行,並且負載平衡器外掛程式在兩個應用程式伺服器實例上進行負載平衡,則第一個請求將傳送至實例 #1,第二個請求也將傳送至實例 #1。而第三個請求將傳送至實例 #2,第四個請求也將傳送至實例 #2。此模式會不斷重複 (實例 1、實例 1、實例 2、實例 2 等)。此運作方式可能與您預期的運作方式 (即,實例 1、實例 2、實例 1、實例 2 等) 不同。在 Sun Java System Application Server 中,用於 Apache 的負載平衡器外掛程式將為每個 Apache 程序創設一個負載平衡器實例,從而建立獨立的負載平衡順序。

如果使用 --with-mpm=worker 選項進行編譯,則 Apache 2.0 將具有多重執行緒運作方式。


使用 Apache Web Server 的需求

對於 Apache Web Server,您的安裝必須滿足最小需求 (視 Apache 版本而定)。

適用於 Apache 1.3 的需求

對於 Apache 1.3,負載平衡外掛程式需要︰


備註 –

若要使用 gcc 以外的 C 編譯器,請設定 C 編譯器的路徑並使公用程式位於 PATH 環境變數中。例如,對於 sh shell︰export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:appserver_installdir/lib


適用於 Apache 2 的最低需求

對於 Apache 2.0,負載平衡外掛程式需要︰

軟體原始碼可從 http://www.sunfreeware.com 取得。

此外,在編譯 Apache 之前,請執行以下步驟:


備註 –

若要使用 gcc 以外的 C 編譯器,請設定 C 編譯器的路徑並使公用程式位於 PATH 環境變數中。例如,對於 sh shell︰export LD_LIBRARY_PATH=app_server_install_dir/lib:$LD_LIBRARY_PATH


安裝負載平衡外掛程式之前的配置

為 Apache 安裝負載平衡外掛程式之前,請先安裝 Apache Web Server。必須編譯和建置 Apache 原始碼以使用 SSL 執行。本小節說明如欲順利編譯 Apache Web Server 以執行負載平衡器外掛程式,所需的最低需求和概略步驟。這些需求和步驟僅適用於此軟體的 Solaris 和 Linux 版本。如需有關 Apache 的 Windows 版本的資訊,請參閱 Apache 網站。

Procedure安裝 SSL 可識別的 Apache

開始之前

您必須已下載並解壓縮了 Apache 軟體。

  1. 下載和解壓縮 OpenSSL 原始碼。

  2. 編譯和建置 OpenSSL。

    如果已安裝了 OpenSSL 0.9.7.e,則在 Linux 平台上無需執行此步驟。

    輸入以下指令:


    cd openssl-0.9.7e
    make
    make install

    如需有關 OpenSSL 的更多資訊,請參閱 http://www.openssl.org/

  3. 依據 Apache 的版本,請執行以下程序之一︰

    • 對於 Apache 1.3,請依循以下步驟使用 mod_ssl 配置 Apache︰

      1. 解壓縮 mod_ssl 原始碼。

      2. cd mod_ssl-2.8.14–1.3.x

      3. ./configure –with-apache=../apache_1.3. x --with-ssl=../openssl-0.9.7e --prefix=install_path --enable-module=ssl --enable-shared=ssl --enable-rule=SHARED_CORE --enable-module=so

      在上述指令中,x 為 Apache 的版本編號,install_path 為要在其中安裝 Apache 的目錄。

      如需有關 mod_ssl 的更多資訊,請參閱 http://www.modssl.org

    • 對於 Apache 2.0,配置原始碼樹狀結構:

      1. cd http-2.0_ x

      2. 執行 ./configure --with-ssl= open_ssl_install_path --prefix= install_path --enable-ssl --enable-so

        在上述指令中,x 為 Apache 的版本編號,open_ssl_install_path 為安裝 OpenSSL 的目錄,install_path 為要在其中安裝 Apache 的目錄。

  4. 對於在 Linux 2.1 上執行的 Apache,編譯之前請:

    1. 開啟 src/MakeFile 並尋找自動產生的區段的結束位置。

    2. 在自動產生的區段之後的前四行的後面增加以下行:

      LIBS+= -licuuc -licui18n -lnspr4 -lpthread -lxerces-c 
      -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/appserver_installdir/lib -L/opt/sun/private/lib

      請注意,只有將應用程式伺服器安裝至 Java Enterprise System 底下時,才需要 -L/opt/sun/private/lib

      例如︰

      ## (End of automatically generated section)
      ## 
      CFLAGS=$(OPTIM) $(CFLAGS1) $(EXTRA_CFLAGS)
      LIBS=$(EXTRA_LIBS) $(LIBS1)
      INCLUDES=$(INCLUDES1) $(INCLUDES0) $(EXTRA_INCLUDES)
      LDFLAGS=$(LDFLAGS1) $(EXTRA_LDFLAGS)
      "LIBS+= -licuuc -licui18n -lnspr4 -lpthread 
      -lxerces-c -lsupport -lnsprwrap -lns-httpd40
      LDFLAGS+= -L/appserver_installdir /lib -L/opt/sun/private/lib
    3. 設定環境變數 LD_LIBRARY_PATH。

      對於所有安裝,請將其設定為︰appserver_install_dir/lib

      針對 Java Enterprise System 安裝,請將其設定為 appserver_install_dir/lib:opt/sun/private/lib

  5. 按照適用於您所使用之版本的安裝說明編譯 Apache。

    如需更多資訊,請參閱 http://httpd.apache.org/

    一般來說,這些步驟包括:

    1. make

    2. make certificate (僅適用於 Apache 1.3)

    3. make install

      指令 make certificate 需要安全密碼。請記住此密碼,因為啟動安全 Apache 需要它。

  6. 為您的環境配置 Apache。

應用程式伺服器安裝程式所做的修改

負載平衡外掛程式安裝程式將必要檔案擷取至 Web 伺服器根目錄中的目錄︰

安裝程式會將以下項目增加至 Web 伺服器實例的 httpd.conf 檔案︰

<VirtualHost machine_name:443>
##Addition for EE lb-plugin
LoadFile /usr/lib/libCstd.so.1
LoadModule apachelbplugin_module libexec/mod_loadbalancer.so
#AddModule mod_apachelbplugin.cpp
<IfModule mod_apachelbplugin.cpp> 
  config-file webserver_instance/conf/loadbalancer.xml
  locale en
</IfModule>
<VirtualHost machine_ip_address>
  DocumentRoot "webserver_instance/htdocs"
  ServerName server_name
</VirtualHost>
##END EE LB Plugin ParametersVersion 7

Procedure配置 Apache 安全性檔案以與負載平衡器一起工作

Apache Web Server 必須具有正確的安全性檔案才能與負載平衡外掛程式一起正常工作。

  1. apache_install_dir 下建立一個名為 sec_db_files 的目錄。

  2. application_server_domain_dir/config/*.db 複製到 apache_install_dir/sec_db_files

  3. 視平台而定,執行其他配置。

    • 在 Solaris 平台上︰

      將路徑 /usr/lib/mps/secv1 增加至 apache_install_dir/bin/apachectl 程序檔中的 LD_LIBRARY_PATH 中。此路徑必須增加在 /usr/lib/mps 的前面。

    • 在 Linux 系統中:

      將路徑 /opt/sun/private/lib 增加至 apache_install_dir/bin/apachectl 程序檔中的 LD_LIBRARY_PATH 中。此路徑必須增加在 /usr/lib 的前面。

    • 在 Microsoft Windows 上︰

      1. 將新路徑增加至 Path 環境變數。

        按一下 [開啟] -> [設定] -> [控制台] -> [系統] -> [進階] -> [環境變數] -> [系統變數]。

        application_server_install_dir/bin 增加至 Path 環境變數。

      2. 將環境變數 NSPR_NATIVE_THREADS_ONLY 設定為 1。

        在 [環境變數] 視窗中的 [系統變數] 下,按一下 [新增]。輸入變數名稱 NSPR_NATIVE_THREADS_ONLY 以及變數值 1。

      3. 重新啟動機器。

對 Microsoft IIS 的修改

若要配置 Microsoft 網際網路資訊服務 (IIS),以使用負載平衡外掛程式,請在 Windows 網際網路服務管理員中修改某些特性。網際網路服務管理程式位於 [控制台] 資料夾內的 [管理工具] 資料夾中。

安裝 Sun Java System Application Server 之後請進行以下修改。

Procedure配置 Microsoft IIS 以使用負載平衡外掛程式

  1. 開啟網際網路服務管理程式。

  2. 選取您要為之啟用外掛程式的網站。

    此網站通常命名為「預設網站」。

  3. 在網站上按一下滑鼠右鍵,選取 [特性] 以開啟 [特性] 筆記本。

  4. 依循以下步驟,增加新的 ISAPI 篩選器︰

    1. 開啟 [ISAPI 篩選器] 標籤。

    2. 按一下 [新增]。

    3. 在 [篩選器名稱] 欄位中,輸入 Application Server

    4. 在 [可執行] 欄位中,鍵入 C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.dll

    5. 按一下 [確定],關閉 [特性] 筆記本。

  5. 建立並配置新的虛擬目錄:

    1. 在預設網站上按一下滑鼠右鍵,選取 [新建],然後選取 [虛擬目錄]。

      [虛擬目錄建立精靈] 將開啟。

    2. 在 [別名] 欄位中,鍵入 sun-passthrough

    3. 在 [目錄] 欄位中,鍵入 C:\Inetpub\wwwroot\sun-passthrough

    4. 核取 [執行許可權] 核取方塊。

      使與許可權相關的所有其他核取方塊保持未核取狀態。

    5. 按一下 [完成]。

  6. sun-passthrough.dll 檔案的路徑和 application_server_install_dir/bin 增加至系統的 PATH 環境變數。

  7. 重新啟動機器。

  8. 停止然後啟動 Web 伺服器以使新設定生效。

    若要停止 Web 伺服器,請在此網站上按一下滑鼠右鍵,然後選取 [Stop]。若要啟動 Web 伺服器,請在此網站上按一下滑鼠右鍵,然後選取 [Start]。

  9. 確認 Web 伺服器、負載平衡器外掛程式和 Application Server 是否正常作業。

    在 Web 瀏覽器中鍵入以下 URL,以存取 Web 應用程式環境根目錄︰http://webserver_name/web_application,其中,webserver_name 為 Web 伺服器的主機名稱或 IP 位址,web_application 為在 C:\Inetpub\wwwroot\sun-passthrough\sun-passthrough.properties 檔案中列示的環境根目錄。

自動配置的 Sun-passthrough 特性

安裝程式將自動配置 sun-passthrough.properties 中的下列特性。您可以變更預設值。

特性 

定義 

預設值 

lb-config-file 

負載平衡器配置檔案的路徑 

IIS_www_root\sun-passthrough \loadbalancer.xml

log-file 

負載平衡器記錄檔的路徑 

IIS_www_root\sun-passthrough\lb.log

log-level 

Web 伺服器的記錄層級 

資訊 

配置多個 Web 伺服器實例

Sun Java System Application Server 安裝程式不允許在單一機器上安裝多個負載平衡外掛程式。若要在單一叢集或多個叢集中的單一機器上安裝多個帶有負載平衡器外掛程式的 Web 伺服器,需要手動執行一些步驟來配置負載平衡器外掛程式。

Procedure配置多個 Web 伺服器實例

  1. 配置新的 Web 伺服器實例以使用負載平衡外掛程式。

    請執行對 Sun Java System Web Server 的修改使用 Apache Web Server安裝中的步驟。

  2. 複製 DTD 檔案。

    從現有 Web 伺服器實例的 config 目錄中,將 sun-loadbalancer_1_1.dtd 複製到新實例的 config 目錄中。

  3. 設定負載平衡器配置檔案。或者︰

    • 複製現有負載平衡器配置。

      使用現有負載平衡器配置,從現有 Web 伺服器實例的 config 目錄中,將 loadbalancer.xml 檔案複製到新實例的 config 目錄中。

    • 建立新的負載平衡器配置:

      1. 使用 asadmin create-http-lb-config 建立新的負載平衡器配置。

      2. 使用 asadmin export http-lb-config 將新配置匯出至 loadbalancer.xml 檔案中。

      3. 將該 loadbalancer.xml 檔案複製至新 Web 伺服器的 config 目錄中。

        如需有關建立負載平衡器配置並將其匯出至 loadbalancer.xml 檔案的資訊,請參閱建立 HTTP 負載平衡器配置