1. 软件准备
1.1 集成软件清单
apache-httpd:版本2.2.19,访问端口80
mod-jk:版本1.2.31
tomcat1:版本7.0,访问域名http://tomcat1.com
tomcat2:版本7.0,访问域名http://tomcat2.com
1.2 下载软件
下载tomcat,地址:http://tomcat.apache.org
下载apache-httpd,地址:http://httpd.apache.org
下载mod-jk,地址:http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries
注:apache-httpd和mod-jk的大版本号需匹配(2.0版和2.2版)
1.3. 安装软件
安装tomcat:下载解压版,解压即可
安装apache-httpd:linux版需编译安装,window版直接执行exe安装文件
将下载的mod_jk-1.2.31-httpd-2.2.x.so文件复制到“[apache-httpd安装路径]/modules”目录
2. 配置
2.1 tomcat配置
(1) 修改tomcat端口号
目的:确保多tomcat在同一台机器上启动时,端口不会冲突
操作:修改文件“[tomcat安装目录]/conf/server.xml”文件的如下内容中的端口号,确保tomcat1和tomcat2的端口号不一样即可
<Server port="8005" shutdown="SHUTDOWN"> <Connector port="8080" protocol="HTTP/1.1" …… <Connector port="8009" protocol="AJP/1.3" ……
(2) 配置jvmRoute
目的:apache通过jvm名称来定位tomcat
操作:修改文件“[tomcat安装目录]/conf/server.xml”文件的如下内容,配置tomcat的jvmRoute
<Engine name="Catalina" defaultHost="localhost">
修改后(例:tomcat1的jvmRoute为jvm1,tomcat2的jvmRoute为jvm2)
<Engine name="Catalina" defaultHost="localhost" jvmRoute="jvm1">
2.2 apache配置
(1) 创建mod-jk.conf文件
目的:配置那些url请求会通过mod-jk转发
操作:创建“[apache安装目录]/conf/mod-jk.conf”文件,文件内容如下
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.19.so JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkShmFile logs/mod_jk.shm JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat "%w %V %T" #JkMount /* controller
(2) 创建workers.properties
目的:mod-jk定位到tomcat的信息
操作:创建“[apache安装目录]/conf/workers.properties”文件,文件内容如下
worker.list=controller,jvm1,jvm2 #========jvm1======== worker.jvm1.type=ajp13 worker.jvm1.port=8009 worker.jvm1.host=127.0.0.1 worker.jvm1.lbfactor=1 #========jvm2======== worker.jvm2.type=ajp13 worker.jvm2.port=8019 worker.jvm2.host=127.0.0.1 worker.jvm2.lbfactor=1 #========controller======== worker.controller.type=lb worker.controller.balance_workers=jvm1,jvm2 worker.controller.sticky_session=1
(3) 创建mount.properties
目的:转发url与tomcat jmvRoute的对应关系
操作:在“[apache安装目录]/conf”目录创建mount1.properties和mount2.properties文件
mount1.properties文件内容如下
/*=jvm1
mount2.properties文件内容如下
/*=jvm2
(4) 修改httpd.conf文件
目的:配置apache虚拟主机,实现域名转发
操作:修改“[apache安装目录]/conf/httpd.conf”文件,追加如下内容
NameVirtualHost *:80 <VirtualHost *:80> ServerName tomcat1.com JkMountFile conf/mount1.properties </VirtualHost> <VirtualHost *:80> ServerName tomcat2.com JkMountFile conf/mount2.properties </VirtualHost> include conf/mod_jk.conf
3. 操作
配置完毕,重启apache和tomcat
发送http://tomcat1.com 或http://tomcat1.com 请求,apache会接收到该请求,然后根据域名转发到对应的tomcat