软件版本
apache-tomcat-5.5.27.zip
httpd-2.0.63.tar.gz
mod_jk-1.2.28-httpd-2.0.X.so
涉及到的文件存放路径
apache home = /usr/local/apache
相关配置文件路径在/usr/local/apache/conf 目录下
httpd.conf、mod_jk.conf、vhost、workers.properties
ofbiz安装目录
swg_home = /usr/local/swg
zbb_home = /usr/local/zbb
原理:
apache侦听80端口;通过VirtuHost实现一个ip绑定多个域名;通过更改java端口来实现一台机器上启动多个ofbiz;通过ajp13模块与tomcat协议通信
apache配置
1,install apache
./configure --prefix=/usr/local/apache/ --enable-so
make
make install
2,install mod_jk
将mod_jk-1.2.28-httpd-2.0.X.so拷贝至 /usr/local/apache/modules/mod_jk.so
ofbiz配置
编辑 /usr/local/swg/startofbiz.sh 和 stopofbiz.sh 为其指定java路径
编辑 /usr/local/zbb/startofbiz.sh 和 stopofbiz.sh 为其指定java路径
export JAVA_HOME=/usr/local/swg/jdk1.5
export JAVA=$JAVA_HOME/bin/java
指定ajp13通信使用的端口
tomcat默认为8009,如果在一台机器上运行多个tomcat(ofbiz)那么就要更改相应的端口,我们只关心8009的更改情况,其他端口交给开发人员更改。
配置ajp13的文件是: /usr/local/swg/framework/base/config/ofbiz-containers.xml
测试
在自己电脑的hosts文件中添加
192.168.254.212 www.zbb1.com
192.168.254.212 www.swg1.com
在浏览器中分别输入 http://www.zbb1.com http://www.swg1.com 即可看到相应的内容。
相关配置文件展示:
httpd.conf需要追加的内容
#加载mod_jk模块
LoadModule jk_module modules/mod_jk.so
#调用虚拟主机配置文件
include /usr/local/apache/conf/vhost
#配置apache和tomcat之间通信用的
include /usr/local/apache/conf/mod_jk.conf
#include /usr/local/apache/conf/workers.properties
vhost的全部内容
#监听所有ip的80端口
NameVirtualHost *:80
<VirtualHost *:80>
#虚拟主机的域名
ServerName www.swg1.com
#虚拟主机的主目录
DocumentRoot /usr/local/swg/resources
#将访问该域名的请求全部转交给 swg1指定的tomcat来处理
JkMount /* swg1
</VirtualHost>
<VirtualHost *:80>
ServerName www.zbb1.com
# DocumentRoot /usr/local/tomcatzbb/webapps/ROOT
DocumentRoot /usr/local/zbb/resources
JkMount /* zbb1
</VirtualHost>
mod_jk.conf全部内容
#指定jk的配置文件
JkWorkersFile /usr/local/apache/conf/workers.properties
# Where to put jk logs
JkLogFile /usr/local/apache/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 indicate to send SSL KEY SIZE,
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat set the request format
JkRequestLogFormat "%w %V %T"
#JkMount /* swg1
workers.properties 全部内容
# Defining a worker named swg1 and of type ajp13
worker.list=swg1, zbb1
# Set properties for swg1
worker.swg1.type=ajp13
worker.swg1.host=www.swg1.com
#指定ajp13侦听的端口
worker.swg1.port=8009
worker.swg1.lbfactor=50
worker.swg1.cachesize=10
worker.swg1.cache_timeout=600
worker.swg1.socket_keepalive=1
worker.swg1.socket_timeout=300
# Defining a worker named zbb1 and of type ajp13
# Set properties for zbb1
worker.zbb1.type=ajp13
worker.zbb1.host=www.zbb1.com
#指定ajp13侦听的端口
worker.zbb1.port=8014
worker.zbb1.lbfactor=50
worker.zbb1.cachesize=10
worker.zbb1.cache_timeout=600
worker.zbb1.socket_keepalive=1
worker.zbb1.socket_timeout=300
参考文档:
http://docs.ofbiz.org/display/OFBTECH/Apache+OFBiz+Technical+Production+Setup+Guide
http://tomcat.apache.org/connectors-doc/generic_howto/quick.html