16.5.3. 安装 mod_cluster 模块至 Apache HTTPD 或 JBoss Enterprise Web Server HTTPD (ZIP)
前提条件
- 要执行这个任务,您必须使用安装在 Red Hat 企业版 Linux 6 里的 Apache HTTPD 或JBoss Enterprise Web Server,或者作为 JBoss EAP 6 可下载组件的独立 HTTPD。
- 如果你需要在 Red Hat 企业版 Linux 6 里安装 Apache HTTPD,请使用《Red Hat Enterprise Linux 6 部署指南》里的说明。这些说明可在 https://access.redhat.com/site/documentation/ 上找到。
- 如果您需要安装作为 JBoss EAP 6 的可下载组件的独立的 HTTPD,请参考 第 16.3.2 节 “安装 JBoss EAP 6 附带的 Apache HTTPD(ZIP)”。
- 如果你需要安装 JBoss Enterprise Web Server,请使用《JBoss Enterprise Web Server 安装指南》里的说明。这些说明可在 https://access.redhat.com/site/documentation/ 上找到。
- 根据操作系统和架构从 Red Hat 客户入口 https://access.redhat.com 下载 Webserver Connecter Natives 软件包。这个软件包包含为操作系统预编译的 mod_cluster 的 HTTPD 模块,这些模块位于
modules/native/lib/httpd/modules/目录。etc/目录包含一些配置文件示例,而share/目录则包含一些补充文档。 - 您必须用管理员权限(root)登录。
过程 16.5. 安装 mod_cluster 模块
确定您的 HTTPD 配置的位置。
根据您是否使用 Red Hat 企业版 Linux 的 Apache HTTPD、JBoss EAP 6 是否包含作为可下载组件的独立 HTTPD、JBoss Enterprise Web Server 里是否有可用的 HTTPD,HTTPD 配置文件的位置会有所不同。- Apache HTTPD -
/etc/httpd/ - JBoss EAP 6 HTTPD - 根据您的系统架构需求选择的位置。
- JBoss Enterprise Web Server HTTPD -
EWS_HOME/httpd/
复制这些模块到 HTTPD 的 modules 目录。
从解压的 Webserver Natives 归档的modules/native/lib/httpd/modules/目录复制四个模块(以.so结尾的文件)到HTTPD_HOME/modules/目录。对于 JBoss Enterprise Web Server,请禁用
mod_proxy_balancer模块。如果您使用 JBoss Enterprise Web Server,mod_proxy_balancer默认是启用的。它和 mod_cluster 不兼容。要禁用它,请编辑HTTPD_HOME/conf/httpd.conf并用#注释下列加载模块的内容。下面的内容没有显示注释符号。LoadModule proxy_balancer_module modules/mod_proxy_balancer.so# LoadModule proxy_balancer_module modules/mod_proxy_balancer.so保存并关闭文件。配置 mod_cluster 模块。
Webserver Natives 归档包含一个mod_cluster.conf示例文件(modules/system/layers/base/native/etc/httpd/conf)。这个文件可用作模版或通过复制/编辑来创建HTTPD_HOME/httpd/conf.d/JBoss_HTTP.conf文件。注意
这个文档里的习惯是使用JBoss_HTTP.conf。这个配置文件如果保存在conf.d/目录里,且扩展名为.conf,它就会被加载。在配置文件里加入下列内容:LoadModule slotmem_module modules/mod_slotmem.so LoadModule manager_module modules/mod_manager.so LoadModule proxy_cluster_module modules/mod_proxy_cluster.so LoadModule advertise_module modules/mod_advertise.so这会让 Apache HTTPD 自动加载mod_cluster运行所需的模块。创建一个代理服务器 listener。
继续编辑HTTPD_HOME/httpd/conf.d/JBoss_HTTP.conf并添加下列配置,用适合您系统的值替换调大写字母表示的值。Listen IP_ADDRESS:PORT <VirtualHost IP_ADDRESS:PORT> <Location /> Order deny,allow Deny from all Allow from *.MYDOMAIN.COM </Location> KeepAliveTimeout 60 MaxKeepAliveRequests 0 EnableMCPMReceive On ManagerBalancerName mycluster ServerAdvertise On </VirtualHost>这些指令创建了一个新的虚拟服务器,它侦听IP_ADDRESS:PORT,允许来自MYDOMAIN.COM的连接,并将自己作为mycluster负载平衡器进行广告。Apache Web Server 的文档会深入讨论这些指令。要学习ServerAdvertise和EnableMCPMReceive指令以及服务器广告的含义,请参考 第 16.5.5 节 “为启用 mod_cluster 的 HTTPD 配置服务器的 Advertisement 属性”。保存文件并退出。重启 HTTPD。
重启 HTTPD 的方法取决于您是否使用 Red Hat 企业版 Linux 的 Apache HTTPD 或包含在 JBoss Enterprise Web Server 里的 HTTPD。从下面两个方法里选择一个。Red Hat Enterprise Linux 6 Apache HTTPD
运行下列命令:[root@host]# service httpd restartJBoss Enterprise Web Server HTTPD
JBoss Enterprise Web Server 既可以运行在 Red Hat Enterprise Linux 也可以运行在 Microsoft Windows Server 上。两者重启 HTTPD 的方法是不同的。Red Hat Enterprise Linux
在 Red Hat 企业版 Linux 里,JBoss Enterprise Web Server 将 HTTPD 安装为服务。要重启 HTTPD,执行下面两个命令:[root@host ~]# service httpd stop[root@host ~]# service httpd startMicrosoft Windows Server
用管理员权限执行下列命令:C:\> net stop httpdC:\> net start httpd
结果
Apache HTTPD 现在已配置为负载平衡器,且可以和运行 JBoss EAP 6 的 mod_cluster 子系统一起工作。要使 JBoss EAP 6 可以意识到 mod_cluster,请参照 第 16.5.6 节 “配置 mod_cluster 工作节点”。