負載平衡外掛程式安裝程式將對 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 的配置檔案︰
對於 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>
在上述程式碼中,lbplugin 是 Object 的唯一識別名稱;web_server_install_dir/web_server_instance/config/loadbalancer.xml 是虛擬伺服器 (負載平衡器即配置要在此執行) 的 XML 配置檔案位置。
安裝之後,請依循設定 HTTP 負載平衡中的說明配置負載平衡器。
若要使用 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 版本而定)。
對於 Apache 1.3,負載平衡外掛程式需要︰
openssl-0.9.7e (原始碼)
mod_ssl-2.8.16-1.3.x (原始碼),其中 x 表示 Apache 的版本。mod_ssl 的版本必須與 Apache 的版本相符。
gcc-3.3-sol9-sparc-local 套裝軟體 (適用於 Solaris SPARC)
gcc-3.3-sol9-intel-local 套裝軟體 (適用於 Solaris x86)
flex-2.5.4a-sol9-sparc-local 套裝軟體 (適用於 Solaris SPARC)
flex-2.5.4a-sol9-intel-local 套裝軟體 (適用於 Solaris x86)
軟體原始碼可從 http://www.sunfreeware.com 取得。
此外,在編譯 Apache 之前,請執行以下步驟:
在 Linux 平台上,在同一台機器上安裝 Sun Java System Application Server。
在 Solaris 作業系統上,確保 gcc 3.3 版和 make 均位於 PATH 中,並且已安裝 flex。
在 Solaris 10 作業系統上,對 OpenSSL 執行 make 之前,請先執行位於 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/install-tools (在 Solaris SPARC 上) 或位於 /usr/local/lib/gcc-lib/i386-pc-solaris2.9/3.3/install-tools (在 Solaris x86 上) 中的 mkheaders。
如果您要在 Red Hat Enterprise Linux Advanced Server 2.1 上使用 gcc,則 gcc 的版本必須在 3.0 以上。
若要使用 gcc 以外的 C 編譯器,請設定 C 編譯器的路徑並使公用程式位於 PATH 環境變數中。例如,對於 sh shell︰export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:appserver_installdir/lib
對於 Apache 2.0,負載平衡外掛程式需要︰
openssl-0.9.7e (原始碼)
httpd-2.0.49 (原始碼)
gcc-3.3-sol9-sparc-local 套裝軟體 (適用於 Solaris SPARC)。
gcc-3.3-sol9-intel-local 套裝軟體 (適用於 Solaris x86)
flex-2.5.4a-sol9-sparc-local 套裝軟體 (適用於 Solaris SPARC)
flex-2.5.4a-sol9-intel-local 套裝軟體 (適用於 Solaris x86)
軟體原始碼可從 http://www.sunfreeware.com 取得。
此外,在編譯 Apache 之前,請執行以下步驟:
在 Linux 平台上,在同一台機器上安裝 Sun Java System Application Server。
在 Solaris 作業系統上,確保 gcc 3.3 版和 make 均位於 PATH 中,並且已安裝 flex。
在 Solaris 10 作業系統上,對 OpenSSL 執行 make 之前,請先執行位於 /usr/local/lib/gcc-lib/sparc-sun-solaris2.9/3.3/install-tools (在 Solaris SPARC 上) 或位於 /usr/local/lib/gcc-lib/i386-pc-solaris2.9/3.3/install-tools (在 Solaris x86 上) 中的 mkheaders。
如果您要在 Red Hat Enterprise Linux Advanced Server 2.1 上使用 gcc,則 gcc 的版本必須在 3.0 以上。
若要使用 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 網站。
您必須已下載並解壓縮了 Apache 軟體。
下載和解壓縮 OpenSSL 原始碼。
編譯和建置 OpenSSL。
如果已安裝了 OpenSSL 0.9.7.e,則在 Linux 平台上無需執行此步驟。
輸入以下指令:
cd openssl-0.9.7e make make install |
如需有關 OpenSSL 的更多資訊,請參閱 http://www.openssl.org/。
依據 Apache 的版本,請執行以下程序之一︰
對於 Apache 1.3,請依循以下步驟使用 mod_ssl 配置 Apache︰
解壓縮 mod_ssl 原始碼。
cd mod_ssl-2.8.14–1.3.x
./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,配置原始碼樹狀結構:
對於在 Linux 2.1 上執行的 Apache,編譯之前請:
開啟 src/MakeFile 並尋找自動產生的區段的結束位置。
在自動產生的區段之後的前四行的後面增加以下行:
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
設定環境變數 LD_LIBRARY_PATH。
對於所有安裝,請將其設定為︰appserver_install_dir/lib
針對 Java Enterprise System 安裝,請將其設定為 appserver_install_dir/lib:opt/sun/private/lib。
按照適用於您所使用之版本的安裝說明編譯 Apache。
如需更多資訊,請參閱 http://httpd.apache.org/。
一般來說,這些步驟包括:
為您的環境配置 Apache。
負載平衡外掛程式安裝程式將必要檔案擷取至 Web 伺服器根目錄中的目錄︰
對於 Apache 1.3,目錄為 libexec。
對於 Apache 2.0,目錄為 modules。
安裝程式會將以下項目增加至 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
Apache Web Server 必須具有正確的安全性檔案才能與負載平衡外掛程式一起正常工作。
在 apache_install_dir 下建立一個名為 sec_db_files 的目錄。
將 application_server_domain_dir/config/*.db 複製到 apache_install_dir/sec_db_files。
視平台而定,執行其他配置。
若要配置 Microsoft 網際網路資訊服務 (IIS),以使用負載平衡外掛程式,請在 Windows 網際網路服務管理員中修改某些特性。網際網路服務管理程式位於 [控制台] 資料夾內的 [管理工具] 資料夾中。
安裝 Sun Java System Application Server 之後請進行以下修改。
開啟網際網路服務管理程式。
選取您要為之啟用外掛程式的網站。
此網站通常命名為「預設網站」。
在網站上按一下滑鼠右鍵,選取 [特性] 以開啟 [特性] 筆記本。
依循以下步驟,增加新的 ISAPI 篩選器︰
建立並配置新的虛擬目錄:
將 sun-passthrough.dll 檔案的路徑和 application_server_install_dir/bin 增加至系統的 PATH 環境變數。
重新啟動機器。
停止然後啟動 Web 伺服器以使新設定生效。
若要停止 Web 伺服器,請在此網站上按一下滑鼠右鍵,然後選取 [Stop]。若要啟動 Web 伺服器,請在此網站上按一下滑鼠右鍵,然後選取 [Start]。
確認 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.properties 中的下列特性。您可以變更預設值。
特性 |
定義 |
預設值 |
---|---|---|
lb-config-file |
負載平衡器配置檔案的路徑 |
IIS_www_root\sun-passthrough \loadbalancer.xml |
log-file |
負載平衡器記錄檔的路徑 |
IIS_www_root\sun-passthrough\lb.log |
log-level |
Web 伺服器的記錄層級 |
資訊 |
Sun Java System Application Server 安裝程式不允許在單一機器上安裝多個負載平衡外掛程式。若要在單一叢集或多個叢集中的單一機器上安裝多個帶有負載平衡器外掛程式的 Web 伺服器,需要手動執行一些步驟來配置負載平衡器外掛程式。
配置新的 Web 伺服器實例以使用負載平衡外掛程式。
請執行對 Sun Java System Web Server 的修改、使用 Apache Web Server或安裝中的步驟。
複製 DTD 檔案。
從現有 Web 伺服器實例的 config 目錄中,將 sun-loadbalancer_1_1.dtd 複製到新實例的 config 目錄中。
設定負載平衡器配置檔案。或者︰
複製現有負載平衡器配置。
使用現有負載平衡器配置,從現有 Web 伺服器實例的 config 目錄中,將 loadbalancer.xml 檔案複製到新實例的 config 目錄中。
建立新的負載平衡器配置:
使用 asadmin create-http-lb-config 建立新的負載平衡器配置。
使用 asadmin export http-lb-config 將新配置匯出至 loadbalancer.xml 檔案中。
將該 loadbalancer.xml 檔案複製至新 Web 伺服器的 config 目錄中。
如需有關建立負載平衡器配置並將其匯出至 loadbalancer.xml 檔案的資訊,請參閱建立 HTTP 負載平衡器配置。