lrx182125 发表于 2016-12-31 08:26:21

apache整合多tomcat

  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文件复制到“/modules”目录

2. 配置

2.1 tomcat配置

(1) 修改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

操作:修改文件“/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转发

操作:创建“/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的信息

操作:创建“/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的对应关系

操作:在“/conf”目录创建mount1.properties和mount2.properties文件

mount1.properties文件内容如下

/*=jvm1
  mount2.properties文件内容如下

/*=jvm2
  (4) 修改httpd.conf文件


目的:配置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
页: [1]
查看完整版本: apache整合多tomcat