Tomcat+JK+Apache服务器多域名映射配置

上一篇中写了关于直接通过Tomcat绑定域名进行访问,如果我们有多个网站需要位于同一台服务器,都想通过域名进行访问,只是用Tomcat是无法实现的。我们这里通过apache的虚拟机配置映射多个Tomcat来实现。

例:www.demo1.cn访问demo1应用;www.demo2.cn访问demo2应用。

第一步:安装,Tomcat,Apache,JK的安装略,请自行google。

第二步:Tomcat配置,打开tomcat的server.xml,结合上一篇Tomcat绑定域名的设置的基础上添加修改。

<!-- 更改原有Connector节点的端口号,因为Apache占用了80端口 -->
<!-- 如果不希望直接通过tomcat的8080端口访问应用,则可以删除掉此Connector配置 -->
<Connector port="8080" 
               protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
               maxThreads="150"/>
               
<!-- 增加一个Connector节点,port要唯一不能冲突,协议使用“AJP”和JK进行通信 -->
<Connector
      port="8009"
      protocol="AJP/1.3"
      redirectPort="8443"
      maxThreads="3000"
      emptySessionPath="true"
      enableLookups="false"/>
<!-- Engine增加jvmRoute,在后面配置apache的时候用到-->
<Engine name="Catalina" defaultHost="www.demo1.cn" jvmRoute="tomcat1">
<Host name="www.demo2.cn"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
            <Context path="" docBase="TestCluster" />

另外的Tomcat配置如下:

<!-- 更改原有Connector节点的端口号,因为Apache占用了80端口 -->
<!-- 如果不希望直接通过tomcat的8080端口访问应用,则可以删除掉此Connector配置 -->
<Connector port="9090" 
               protocol="HTTP/1.1" 
               connectionTimeout="20000" 
               redirectPort="8443" 
               maxThreads="150"/>
               
<!-- 增加一个Connector节点,port要唯一不能冲突,协议使用“AJP”和JK进行通信 -->
<Connector
      port="9009"
      protocol="AJP/1.3"
      redirectPort="8443"
      maxThreads="3000"
      emptySessionPath="true"
      enableLookups="false"/>
<!-- Engine增加jvmRoute,在后面配置apache的时候用到-->
<Engine name="Catalina" defaultHost="www.demo2.cn" jvmRoute="tomcat2">

<Host name="www.demo1.cn"  appBase="webapps"
            unpackWARs="true" autoDeploy="true"
            xmlValidation="false" xmlNamespaceAware="false">
            <Context path="" docBase="demo1" />

第三步:Apache配置

配置httpd.conf,在末尾增加

include "D:\Apache2.2\conf\mod_jk.conf"

配置mod_jk.conf

LoadModule jk_module modules/mod_jk-1.2.26-httpd-2.2.4.so
JkWorkersFile conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel info

配置workers.properties

worker.list=tomcat1,tomcat2
worker.tomcat1.type=ajp13
worker.tomcat1.host=localhost
worker.tomcat1.port=8009

worker.tomcat2.type=ajp13
worker.tomcat2.host=localhost
worker.tomcat2.port=9009

配置httpd-vhosts.conf

NameVirtualHost localhost

<VirtualHost localhost>
         DocumentRoot "D:\Tomcat\apache-tomcat-6.0.14(1)\webapps\demo1"
         ServerName www.demo.cn
         JkMount /*.jsp tomcat1
         DirectoryIndex index.html index.jsp    
         <Directory D:\Tomcat\apache-tomcat-6.0.14(1)\webapps\demo1>
                   Options -Indexes FollowSymLinks
                   AllowOverride None
                   Order allow,deny
                   Allow from all
         </Directory>

</VirtualHost>

<VirtualHost localhost>
         DocumentRoot "D:\Tomcat\apache-tomcat-6.0.14(2)\webapps\demo2"
         ServerName www.demo2.cn
         JkMount /*.jsp tomcat2
         DirectoryIndex index.html index.jsp    
         <Directory D:\Tomcat\apache-tomcat-6.0.14(2)\webapps\demo2>
                   Options -Indexes FollowSymLinks
                   AllowOverride None
                   Order allow,deny
                   Allow from all
         </Directory>

</VirtualHost>

JkMount /*.jsp tomcat1这里面涉及到了apache的转发规则设置,一般我们会把jsp动态的内容交给tomcat进行处理,而js、css、img等静态资源交给apache进行处理。

转载于:https://my.oschina.net/hc24/blog/292369

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值