概述:
本文档说明了如何将jboss与apache集成。经查询,有多种方法将apache与jboss集成,
经比较,我认为这是一种比较成熟实用的方法。特此记下来。
英文参考文献地址:
http://www.jboss.org/wiki/Wiki.jsp?page=UsingMod_jkWithJBoss
http://www.jboss.org/wiki/Wiki.jsp?page=UsingMod_jk1.2WithJBoss
文中指出,使用mod_jk1.2是比较好的办法,呵呵,我也这么认同。
第一步: 安装apache,由于Linux自带了apache,省去吧,我用的是RHEL 3.0
第二步: 下载并编译mod_jk1.2,地址在:http://jakarta.apache.org/site/sourceindex.cgi
原文建议下载二进制文件,不过编译源程序很容易地,编译一下吧;
第三步:配置apache.
三个文件:
/*****************************/etc/httpd/conf.d/mod_jk.conf***********************************
# 因为在/etc/httpd/conf/httpd.conf文件中有一句Include conf.d/*.conf,所以,在httpd.conf中不需要添加任何语句
# Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf.d/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
#JkMount /* node1
JkMount /*.jsp node1
JkMount /*.jspx node1
JkMount /YOURAPPs/* node1
JkMount /jmx-console/* node1
***************************************************************************************/
/*********************************/etc/httpd/conf.d/workers.properties******************
# 如果你需要用到负载均衡可以将注释语句去掉
# Define Node1
worker.node1.port=8009
worker.node1.host=localhost
worker.node1.type=ajp13
worker.node1.lbfactor=1
#worker.node1.local_worker=1 (1)
worker.node1.cachesize=10
worker.node1.cache_timeout=600
worker.node1.socket_timeout=300
# Define Node2
#worker.node2.port=8009
#worker.node2.host=127.0.0.1
#worker.node2.type=ajp13
#worker.node2.lbfactor=1
#worker.node2.local_worker=1 (1)
#worker.node2.cachesize=10
# Load-balancing behaviour
#worker.loadbalancer.type=lb
#worker.loadbalancer.balanced_workers=node1, node2
#worker.loadbalancer.sticky_session=1
#worker.loadbalancer.local_worker_only=1
worker.list=node1
#loadbalancer
***************************************************************************************/
/****************************${tomcathome}/server.xml**********************************
//找到以下语句,其中jvmRoot="node1"是新增的
<Engine name="jboss.web" defaultHost="localhost" jvmRoot="node1">
***************************************************************************************/
另外,本课题外之语是:
我顺便修改了server.xml的两个位置:
将<Connector port="8080" address="${jboss.bind.address}"这一行注释起来了,以便关闭8080端口,
同时在8009端口上添加了一句:URIEncoding="utf-8"以便能正确地处理get请求中的中文字符。
还有一个技巧是我个修改了/var/www/html/index.jsp文件,以便使我用户访问域名时可以自动定位到适合的页面。
这个文件将在另一文件中呈现。
That's ok.