怎样配置tomcat实现多虚拟主机

2016年8月17日 | 分类: 【技术】

参考:http://tnui.blog.163.com/blog/static/171557186201132265742384/
参考:http://www.ileiming.com/linux%e6%8a%80%e6%9c%af/tomcat/tomcat%e7%9a%84%e5%9f%9f%e5%90%8d%e9%85%8d%e7%bd%ae
参考:http://jingyan.baidu.com/article/d45ad148918bc869552b8082
参考:http://www.2cto.com/os/201203/122120
参考:http://www.2cto.com/os/201601/486296
参考:http://www.moqicai.cn/2016/07/14/centos%e4%b8%8btomcat%e5%ae%89%e5%85%a8%e9%85%8d%e7%bd%ae/
参考:http://jingyan.baidu.com/article/546ae1857986f71149f28cf6
参考:http://jingyan.baidu.com/article/f0062228250cbdfbd3f0c8cf
参考:http://jingyan.baidu.com/article/7908e85c66a96daf481ad28f

打开 /usr/local/tomcat/conf/server.xml

修改:

4. 当启动tomcat的时候,输入我们绑定的域名,是不是看到了我们的tomcat。可是我们想访问我们的项目还得再域名后面加上项目名称才能访问到,也

就是说到现在我们的域名还没跟项目绑定到一起。我们在看一下第三部,想让我们的项目和域名绑定到一起,我们只需要在前面加上:

例如:

5. 当我们的有两个项目都放在同一个tomcat下的时候,我们只需要把加上两个既可以完成我们的2个项目的绑定,但是项目名称别忘了改哦。

6. 当我们的服务器自己维护(没有放在机房),我们需要对我们的路由做一下映射。就拿我的路由来举例。我的路由是TP-LINK WR340G型号,进入路由后,我们能找到一个转发规则,那里面有一个虚拟服务器的这项,点击新增条目以后会有:服务端口号、IP地址、协议、状态、常用服务端口号。我们只需在这里IP地址(服务器的局域网IP),协议选择ALL(有的路由好像没有这项,那就不需要填写了),状态选择生效,常用服务端口号选择HTTP或者WEB即可。这时默认的端口号为80。当常用服务端口号没有HTTP或者WEB这项时,可以选择DNS,然后手动把端口号改成80。点击生效。保存即可。如果说本人说的路由映射对您不适用或者没有看明白,可以上网找各种路由的映射方法。

7. 这个时候我们在输入我们的域名,是不是就直接访问到我们的项目了。

域名绑定与虚拟目录设置:

server.xml 的修改方式如下:

(一)多域名绑定

1.如果你要绑定网站,首先是要把tomcat的默认访问端口8080,修改成80

原始:

修改后:

其实这里就是把port:8080,修改成port:80就可以了,其他的参数不变

2.接下来就是重点:

单个域名绑定:

原始:

修改后:

多域名绑定:

chengqun.202.71one.com
chengqun1.202.71one.com
chengqun2.202.71one.com

这里面的参数还有很多,我也不是很清楚,不过这样做确实可以实现多域名绑定哈哈.而且网站页面修改了只要直接覆盖就可以了,tomcat可以自动更新类

和页面,当然如果修改了web.xml或lib,则需要重启tomcat才可以.

(二)虚拟目录
(1)

其中,Host标记是用来配置虚拟主机的,就是可以多个域名指向一个tomcat,格式只要参考默认的就

可以了。

是Host标记的子元素吧,表示一个虚拟目录,它主要有两个属性,path就相当于虚拟目录名字,

而 docbase则是具体的文件位置。在这里我的虚拟路径名称为chengqun,实际上我的程序也就是html、jsp、servlet都 放在了d:/wwwroot/chengqun这

个目录下了。

这样我就可以通过 chengqun.202. com/chengqun 访问我的这个虚拟目录了。

另外一种方法是:

这样设置以后,输入域名可以访问这个站点程序了(Context path=”/”这里不同)

(2)
没有指定默认站点,所以直接输入IP的时候,无法访问。如何让输入ip就可以访问指定的站点呢?
修改server.xml的
这样就可以实现了输入ip访问chengqun.202. com这个站点的程序了!

tomcat下的配置都在conf下的server.xml下实现。。。
里面从高到低分为:
Server
–Service
–Connector
–Engine
–Host
–Context

首先把通讯接口下的PORT改为80,这样就不用在浏览器中输入端口号了,如:

HOST代表虚拟主机:
默认有

所以我们平时都是直接输入http://localhost:端口号/项目名 就好了。。
假如我现在有个项目在E盘下的workspace目录,项目名为LZW
我不想部署在tomcat下的webapp目录下,而是直接想在TOMCAT下加载这个项目
并且用个域名(www.pw88.com)来映射。这样我们可以加上下面这段代码

appBase为项目的绝对路径,docBase为WEB目录

假如我现在的图片都放在d:/ext.lzw.com/img下,我想用个二级域名
(img.lzw.com)映射它,假如在d:/ext.lzw.com/img下放入一张图片1.jpg,我们就
可以输入img.lzw.com/1.jpg来访问它了。。加上下面代码就可以实现了。。

最终我们要在本地访问域名,还得修改相爱HOST文件。。打开
C:/WINDOWS/system32/drivers/etc/hosts
加上

127.0.0.1 www.pw88.com
127.0.0.1 img.lzw.com

对tomcat下配置 一ip对多域名的方法详细如下,按下面配置一定能成功,经过测试了.

localhost.com

one.localhost.com

two.localhost.com

因无域名解析服务器,所以在hosts上配,来模拟dns解析.

10.1.1.241 localhost 指向gg文件夹
10.1.1.241 localhost.com 指向gg文件夹
10.1.1.241 one.localhost 指向a文件夹
10.1.1.241 one.localhost.com 指向a文件夹
10.1.1.241 two.localhost 指向b文件夹
10.1.1.241 two.localhost.com 指向b文件夹

经过多方面尝试,终于在tomcat下配置成功了.