负载平衡器插件安装程序将对 Web 服务器的配置文件进行一些修改。所作的更改取决于该 Web 服务器。
在运行支持的 Web 服务器的计算机上,负载平衡器插件可随 Sun Java System Application Server Enterprise Edition 一起安装,也可单独安装。有关安装过程的完整信息,请参见《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 Server 实例的 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 Server 实例的 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 子进程运行时,每个进程都有自己的负载平衡 Round Robin 序列。例如,如果有两个 Apache 子进程正在运行,并且负载平衡器插件在两个应用程序服务器实例上进行负载平衡,则第一个请求和第二个请求将发送给实例 1,而第三个和第四个请求则将发送给实例 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 Web 站点。
您必须已下载并解压缩 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,请使用以下步骤将 Apache 配置为与 mod_ssl 一起使用:
解压缩 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
请注意,仅在 Application Server 作为 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 Server 根目录下的以下目录中:
对于 Apache 1.3,此目录为 libexec。
对于 Apache 2.0,此目录为 modules。
它将以下条目添加到 Web Server 实例的 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 Internet Information 服务 (Microsoft Internet Information Services, IIS) 以使用负载平衡器插件,请修改 Windows Internet 服务管理器中的某些属性。Internet 服务管理器位于“控制面板”文件夹的“管理工具”文件夹中。
安装 Sun Java System Application Server 之后,请进行以下修改。
打开 Internet 服务管理器。
选择要为其启用此插件的 Web 站点。
此 Web 站点通常名为“默认 Web 站点”。
在此 Web 站点上单击鼠标右键,并选择“属性”以打开“属性”记事本。
按照以下步骤,添加一个新的 ISAPI 过滤器:
创建并配置新的虚拟目录:
将 sun-passthrough.dll 文件的路径和 application_server_install_dir/bin 添加到系统的 PATH 环境变量中。
重新启动计算机。
停止然后启动 Web 服务器以使新设置生效。
要停止 Web 服务器,请在此 Web 站点上单击鼠标右键,然后选择“停止”。要启动 Web 服务器,请在此 Web 站点上单击鼠标右键,然后选择“启动”。
检验 Web 服务器、负载平衡器插件和 Application Server 是否运行正常。
在 Web 浏览器中键入以下地址,以访问此 Web 应用程序的上下文根:http://webserver_name/web_application,其中 webserver_name 是 Web Server 的主机名或 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 服务器的日志级别 |
INFO |
Sun Java System Application Server 安装程序不允许在单个计算机上安装多个负载平衡器插件。要在单个群集或多个群集中的单个计算机上安装多个带有负载平衡器插件的 Web 服务器,需要手动执行一些步骤来配置负载平衡器插件。
配置新的 Web Server 实例以使用负载平衡器插件。
请按照对 Sun Java System Web Server 的修改、使用 Apache Web Server或安装中的步骤进行操作
复制 DTD 文件。
将 sun-loadbalancer_1_1.dtd 从现有 Web 服务器实例的 config 目录复制到新实例的 config 目录中。
设置负载平衡器配置文件。执行以下操作之一:
复制现有负载平衡器配置。
使用现有负载平衡器配置,将 loadbalancer.xml 文件从现有 Web 服务器实例的 config 目录复制到新实例的 config 目录中。
创建新的负载平衡器配置:
使用 asadmin create-http-lb-config 创建新的负载平衡器配置。
使用 asadmin export http-lb-config 将新配置导出到 loadbalancer.xml 文件中。
将此 loadbalancer.xml 文件复制到新 Web 服务器的 config 目录中。
有关创建负载平衡器配置并将其导出到 loadbalancer.xml 文件的信息,请参见创建 HTTP 负载平衡器配置。