16.6.3. 安装 Mod_jk 模块到 Apache HTTP 服务器(ZIP 方式)
前提条件
- 要执行这个任务,您必须使用安装在受支持环境里的 Apache HTTP 服务器或安装在 JBoss Enterprise Web Server 里的 Apache HTTP 服务器。请注意,JBoss Enterprise Web Server 里安装的 Apache HTTP 服务器是 JBoss EAP 6 的一部分。
- 如果您需要安装 Apache HTTP 服务器,请使用 https://access.redhat.com/site/documentation/ 上《Red Hat 企业版 Linux 部署指南》里的说明。
- 如果您需要安装 JBoss Enterprise Web Server,请参照《JBoss Enterprise Web Server 安装指南》里的说明,它位于 https://access.redhat.com/site/documentation/。
- 如果您在使用 Apache HTTP 服务器,请从 Red Hat 客户入口下载 JBoss EAP 6 Native 组件软件包 https://access.redhat.com。这个软件包包含为 Red Hat 企业版 Linux 编译的 mod_jk 和 mod_cluster。如果您使用的是 JBoss Enterprise Web 服务器,它已经包含了 mod_jk。
- 您必须用管理员权限(root)登录。
过程 16.9. 安装 mod_jk 模块
配置 mod_jk 模块
- 创建一个名为
HTTPD_HOME/conf.d/mod-jk.conf
的文件并添加下列内容:注意
JkMount
指令指定 Apache 应该转发哪些 URL 到 mod_jk 模块。根据指令的配置,mod_jk 将接收到的 URL 转发到正确的 Servlet 容器。要直接服务静态内容且只使用本地负载平衡器,URL 路径应该为/application/*
。要将 mod_jk 用作负载平衡器,请使用/*
将所有 URL 转发给 mod_jk。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看这些值,确保它们是合理的,然后保存文件。 指定 JKMountFile 指令
除了mod-jk.conf
里的 JKMount 指令以外,您可以指定一个包含多个转发到 mod_jk 的 URL 模式的文件。- 添加下列内容到
HTTPD_HOME/conf/mod-jk.conf
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 创建一个名为
HTTPD_HOME/conf/uriworkermap.properties
的新文件,其中每一行对应一个 URL 模式。下面的例子展示了这个文件的语法。Simple worker configuration file
# Simple worker configuration file /*=loadbalancer
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
复制 mod_jk.so 文件到 HTTPD 的 modules 目录
注意
只有您的 HTTPD 在其modules/
目录下没有mod_jk.so
时它才是必需的。如果您在使用 JBoss EAP 6 里包含的 Apache HTTPD 服务器,您可以跳过这个步骤。解压 Native Web Server Connectors ZIP 软件包。在EAP_HOME/modules/native/lib/httpd/modules/
或EAP_HOME/modules/native/lib64/httpd/modules/
目录里找到mod_jk.so
文件(根据操作系统是 32 还是 64 位的)。复制文件到HTTPD_HOME/modules/
目录。
配置 mod_jk 工作节点。
- 创建一个名为
HTTPD_HOME/conf/workers.properties
的文件。使用下面的例子作为起点,并根据需要进行修改。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 关于workers.properties
文件的详细描述和高级配置选项,请参考 第 16.6.5 节 “Apache Mod_jk 工作节点的配置”。
重启 HTTPD。
重启 HTTPD 的方法取决于您是否使用 Red Hat 企业版 Linux 的 Apache HTTPD 或包含在 JBoss Enterprise Web Server 里的 HTTPD。从下面两个方法里选择一个。Red Hat 企业版 Linux 的 Apache HTTPD
运行下列命令:service httpd restart
[root@host]# service httpd restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow JBoss Enterprise Web Server HTTPD
JBoss Enterprise Web Server 既可以运行在 Red Hat Enterprise Linux 也可以运行在 Microsoft Windows Server 上。两者重启 HTTPD 的方法是不同的。Red Hat 企业版 Linux(通过 RPM 安装)
在 Red Hat 企业版 Linux 里,JBoss Enterprise Web Server 将 HTTPD 安装为服务。要重启 HTTPD,执行下面两个命令:service httpd stop service httpd start
[root@host ~]# service httpd stop [root@host ~]# service httpd start
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Red Hat 企业版 Linux(通过 ZIP 安装)
如果您已经通过 ZIP 归档安装了 JBoss Enterprise Web Server 的 HTTPD,请使用apachectl
命令来重启 HTTPD。请用您解压 JBoss Enterprise Web Server HTTPD 的目录来替换 EWS_HOME。EWS_HOME/httpd/sbin/apachectl restart
[root@host ~]# EWS_HOME/httpd/sbin/apachectl restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Microsoft Windows Server
用管理员权限执行下列命令:net stop Apache2.2 net start Apache2.2
C:\> net stop Apache2.2 C:\> net start Apache2.2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Solaris
请在命令行提示下用有管理权限的用户执行下列命令。请用您解压 JBoss Enterprise Web Server HTTPD 的目录来替换 EWS_HOME。[root@host ~] EWS_HOME/httpd/sbin/apachectl restart
[root@host ~] EWS_HOME/httpd/sbin/apachectl restart
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
结果
已配置 Apache HTTPD 使用 mod_jk 负载平衡器。要使 JBoss EAP 6 可以意识到 mod_jk,请参照 第 16.3.6 节 “配置 JBoss EAP 6 从外部 HTTPD 接受请求”。