19.5.3. 安装 mod_cluster 模块至 Apache HTTP 服务器或 JBoss Enterprise Web Server(ZIP 方式)
预备条件
- 要执行这个任务,您必须使用安装在 Red Hat 企业版 Linux 6 里的 Apache HTTP Server 或JBoss Enterprise Web Server,或者作为 JBoss EAP 6 可下载组件的独立 HTTP 服务器。
- 如果你需要在 Red Hat 企业版 Linux 6 里安装 Apache HTTP 服务器,请使用《Red Hat Enterprise Linux 6 部署指南》里的说明。
- 如果您需要安装作为 JBoss EAP 6 的可下载组件的独立的 HTTP 服务器,请参考 第 19.3.2 节 “安装 JBoss EAP 6 附带的 Apache HTTP 服务器(ZIP 方式)”。
- 如果你需要安装 JBoss Enterprise Web Server,请使用《JBoss Enterprise Web Server 安装指南》里的说明。
- 根据操作系统和架构从 Red Hat 客户入口 https://access.redhat.com 下载 Webserver Connecter Natives 软件包。这个软件包包含为操作系统预编译的 mod_cluster 的 web 服务器模块,这些模块位于
EAP_HOME/modules/system/layers/base/native/lib/httpd/modules目录。etc/目录包含一些配置文件示例,而share/目录则包含一些补充文档。 - 您必须用管理员权限(root)登录。
注意
EAP_HOME/modules/system/layers/base/native/lib64/httpd/modules。每次访问这些模块时您都必须使用这个路径。
过程 19.7. 安装 mod_cluster 模块
确定您的 Apache HTTP 服务器配置的位置。
根据您是否使用 Red Hat 企业版 Linux 的 Apache HTTP 服务器、JBoss EAP 6 是否包含作为可下载组件的独立 Apache HTTP 服务器、JBoss Enterprise Web Server 里是否有可用的 Apache HTTP 服务器, Apache HTTP 服务器配置文件的位置会有所不同。下面是这三种情况中的一种,在本节里都被称为 HTTPD_HOME。- Apache HTTP 服务器 -
/etc/httpd/ - JBoss EAP 6 Apache HTTP 服务器 - 根据您的系统架构需求选择的位置。
- JBoss Enterprise Web Server 的 Apache HTTP 服务器 -
EWS_HOME/httpd/
复制这些模块到 Apache HTTP 服务器的 modules 目录。
从解压的 Webserver Natives 归档的EAP_HOME/modules/system/layers/base/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示例文件(EAP_HOME/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 HTTP 服务器自动加载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指令以及服务器广告的含义,请参考 第 19.5.5 节 “为启用 mod_cluster 的 Web 服务器配置服务器的 Advertisement 属性”。保存文件并退出。重新启动 Apache HTTP 服务器。
重启 Apache HTTP 服务器的方法取决于您是否使用 Red Hat 企业版 Linux 的 Apache HTTP 服务器或包含在 JBoss Enterprise Web Server 里的 Apache HTTP 服务器。请从下面两个方法里选择一个。Red Hat 企业版 Linux 6 的 Apache HTTP 服务器
运行下列命令:[root@host]#
service httpd restartJBoss Enterprise Web Server 的 Apache HTTP 服务器
JBoss Enterprise Web Server 既可以运行在 Red Hat Enterprise Linux 也可以运行在 Microsoft Windows Server 上。两者重启 Apache HTTP 服务器的方法是不同的。Red Hat Enterprise Linux
在 Red Hat 企业版 Linux 里,JBoss Enterprise Web Server 将 Apache HTTP 服务器安装为服务。要重启 Apache HTTP 服务器,执行下面两个命令:[root@host ~]# service httpd stop[root@host ~]# service httpd startMicrosoft Windows Server
用管理员权限执行下列命令:C:\> net stop httpdC:\> net start httpd
Apache HTTP 服务器现在已配置为负载平衡器,且可以和运行 JBoss EAP 6 的 mod_cluster 子系统一起工作。要使 JBoss EAP 6 可以意识到 mod_cluster,请参考 第 19.5.6 节 “配置 mod_cluster 工作节点”。

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.