在某些架构中,将 Apache web 服务器放置在 JBoss 服务器之前是非常有用的. 外部的 web 客户先与 Apache 实例通讯, 然后再由Apache代表web客户与 Tomcat 实例进行通讯. 在Apache配置中,需要启用mod_jk 模块,它负责使用 AJP 协议于运行在Tomcat中的 AJP 通讯. 下面提供了一个启用 AJP connector 的server.xml
<Connector port="8009" address="${jboss.bind.address}"enableLookups="false" redirectPort="8443" debug="0"protocol="AJP/1.3" />
至于完整的安装步骤,需要查阅 Apache 和 mod_jk 文档. 假设已经正确的配置好了 Apache 实例, 下面的部分配置给出了如何与部署context root 为 /jbosstest的WAR包连接.
...
LoadModule jk_module libexec/mod_jk.so
AddModule mod_jk.c
<IfModule mod_jk.c>
JkWorkersFile /tmp/workers.properties
JkLogFile /tmp/mod_jk.log
JkLogLevel debug
JkMount /jbosstest/* ajp13
</IfModule>
workers.properties 文件包含如何与 JBoss 实例建立联系的详细信息. 关于怎样将 Apache 放置在 JBoss 之前, 特别是 JBoss 服务器的集群之前, 请参考 JBoss 4 集群指南.