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)登录。

注意

如果您使用的是 64 位的系统,mod_cluster 的 web 服务器模块将位于: EAP_HOME/modules/system/layers/base/native/lib64/httpd/modules。每次访问这些模块时您都必须使用这个路径。

过程 19.7. 安装 mod_cluster 模块

  1. 确定您的 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/
  2. 复制这些模块到 Apache HTTP 服务器的 modules 目录。

    从解压的 Webserver Natives 归档的 EAP_HOME/modules/system/layers/base/native/lib/httpd/modules 目录复制四个模块(以 .so 结尾的文件)到 HTTPD_HOME/modules/ 目录。
  3. 对于 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
    保存并关闭文件。
  4. 配置 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 运行所需的模块。
  5. 创建一个代理服务器 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 的文档会深入讨论这些指令。要学习 ServerAdvertiseEnableMCPMReceive 指令以及服务器广告的含义,请参考 第 19.5.5 节 “为启用 mod_cluster 的 Web 服务器配置服务器的 Advertisement 属性”
    保存文件并退出。
  6. 重新启动 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 restart
    • JBoss 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 start
      • Microsoft Windows Server

        用管理员权限执行下列命令:
        C:\> net stop httpd
        C:\> net start httpd
结果

Apache HTTP 服务器现在已配置为负载平衡器,且可以和运行 JBoss EAP 6 的 mod_cluster 子系统一起工作。要使 JBoss EAP 6 可以意识到 mod_cluster,请参考 第 19.5.6 节 “配置 mod_cluster 工作节点”