tomcat 配置虚拟主机
测试环境:
windows 7
tomcat 7
基于主机名的虚拟主机配置
在随意盘符下建立一个目录作为虚拟地址的目录。例如:F:\virtualhost1
,在其下建立test1.html,写入内容例如:test
在tomcat/conf/service.xml
中 加入如下配置一段
<Host>
......
</Host> 这里的Host配置,是配置文件原本就有的,下面的需要我们自己增加
<Host appBase="F:\virtualhost1" autoDeploy="true" name="test.localhost" unpackWARs="true">
<Context path="" docBase="." debug="0" />
</Host>
注意:Context标签一定要有,经测试,直接在appBase
中添加项目路径无效,解析不出来
打开C:\Windows\System32\drivers\etc
下面的hosts文件 加入127.0.0.1 test.localhost
127.0.0.1 localhost
127.0.0.1 test.localhost
在tomcat\webapps下的ROOT文件夹下创建hello.html 内容写入 hello。
启动tomcat(如果未启动的话)
在浏览器输入:http://localhost:8080/index.html
, 将显示:hello
在浏览器输入:http://test.localhost:8080/index.html
, 将显示:test
实际上 二者的ip是一样的,都是127.0.0.1 但是却实现了访问两个“主机”上的资源,一个是tomcat下的,一个是F盘下的。假如A,B两公司很穷,网站公用一台服务器,但又不能够直接输入IP来进入,因为只有一个IP,这里在一台电脑上设置虚拟,二者设置不同的虚拟目录,使用虚拟目录名来访问便可实现公用,实际还是一个ip,一台主机。
基于端口的虚拟主机配置
在随意盘符下建立一个目录作为虚拟地址的目录。例如:F:\virtualhost2
,在其下建立test1.html,写入内容例如:test2
在tomcat/conf/server.xml
里加入一段
<Service>
<Connector ......./>
<Engine defaultHost="localhost" name="Catalina" >
.......
</Engine>
</Service> 这里的配置也是文件原本就有的,下面是增加的。
<Service>
<Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8443"/>
因为是基于端口的配置,这里的8082端口是新增的,以后的访问将用到
<Engine name="second" debug="0">
<Host appBase="F:\virtualhost2" autoDeploy="true" name="localhost" unpackWARs="true">
<Context path="" docBase="." debug="0" />
</Host>
</Engine>
</Service>
启动tomcat(未启动的话)
输入 http://localhost:8080/index.html
,将显示hello
输入 http://localhost:8082/index.html
,将显示test2
这里通过不同的端口进来实现了,不同基于不同端口的虚拟主机的配置。
基于端口的没有试过,但基于主机名的没有问题,亲测可用
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭