Tomcat 映射不同的域名到不同的项目

 

过去遇到了这种情况:两个人租用同一个服务器,安装了tomcat之后,部署了各自的项目,出现一个问题是:两个人的域名都要映射到同一个ip,那么怎么对应到自己的项目呢?

比如 name1.com name2.com 映射到用一个ip 4.4.4.4,这个IP主机上有两个项目 web1 web2,该怎么做呢?

 

起初我们想的是,一个项目设置为默认的项目,即:访问name1.com 的时候默认指向项目1,如果访问name2.com的时候,建一个Filter判断request来源,转向web2. 后来没有实施,觉得这两个项目扯到一起了。。。

 

今天翻书,看到tomcat原来支持这种多个虚拟主机的部署方式,顿时懊恼极了,以前都没注意过这些东西。

 

方法很简单: 在tomcat下server.xml中,Engine 节点下,可以设置多个host,每一个host对应一个虚拟主机。

 

例如可以添加<host name="name1.com" appBase="the web1 dir">

 和              <host name="name2.com" appBase="the web2 dir">

这样,及时两个域名映射到同一个ip,那么两个域名对应的项目目录是不一样的,也就实现了多域名映射到同一个ip的问题。

 

另外,如果有其他的域名映射到这个ip,但是没有设置对应的host信息,那么就会打开的是默认的localhost对应的目录,默认是webapps/ROOT路径。

 

就是这样。

posted @ 2012-09-12 23:09  。淑女范erり  阅读(1018)  评论(3编辑  收藏  举报