要使用 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 中。
根据所使用的平台,请执行其他配置。