Tomcat 虚拟主机或二级域名配置

基于虚拟目录的项目主机配置

在Tomcat中虚拟目录默认是webapps,但是对于项目位置,我们也可以自行设置Context来实现,一个Host下可以设置多个Context;

<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <!--Host: name表示访问网址,appBase为网络地址可访问目录,unpackWARs是否解压war软件包,autoDeploy是否自动部署网站>
<Context path="" docBase="." debug="0" reloadable="true"/>
   <!--Context是指物理部署环境,docBase是指网站实际放置位置,这里和appBase形成虚拟映射,debug是否开启调试模式,reloadable表示是否可以重新部署-->
<Context path="/bbs" docBase="E:/mytest/portal" debug="0" reloadable="true"/>
<Context path="/admin" docBase="E:/mytest/sys/admin" debug="0" reloadable="true"/>

<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" 
    timestamp="true"/> 

</Host>

基于主机名称的虚拟主机配置

修改Tomcat配置文件 /conf/server.xml,在Engine标签内,底部添加类似如下的配置

<Host name="www.appTest.com" appBase="webapps/appTest" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
    <!--Host: name表示访问网址,appBase为网络地址可访问目录,unpackWARs是否解压war软件包,autoDeploy是否自动部署网站>
   <Context path="" docBase="." debug="0" reloadable="true"/>
   <!--Context是指物理部署环境,docBase是指网站实际放置位置,这里和appBase形成虚拟映射,debug是否开启调试模式,reloadable表示是否可以重新部署-->
   <Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" 
    timestamp="true"/> 
</Host>

 

在我们没有域名的情况下,DNS解析找不到站点,这时我们需要修改hosts文件,映射虚拟地址主机IP

201.18.2.102  www.appTest.com

或者为了只让局域网主机访问,可以如下设置,映射你的内外ip

192.168.1.112 www.appTest.com

 

当然,我们可以配置我们的子域名

<Host name="www.appTest.com" appBase="webapps/appTest" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
		<Context path="" docBase="." debug="0" reloadable="true"/>
		<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" 
    timestamp="true"/> 
      </Host>

	<Host name="images.appTest.com" appBase="webapps/images" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
		<Context path="" docBase="." debug="0" reloadable="true"/>
		<Logger className="org.apache.catalina.logger.FileLogger" directory="logs" prefix="www_appTest_com." suffix=".txt" 
    timestamp="true"/> 
</Host>

同样我们需要映射我们的网址

201.18.2.112 images.appTest.com

当然Cookie跨域时,我们需要将Cookie Domain设置成 .appTest.com即可

Cookie cookie = new Cookie("cookieName", "cookieValue");
cookie.setDomain(".appTest.com");
response.addCookie(cookie);

 

基于端口的虚拟主机配置

在server节点下添加类似如下配置

<Service name="myVirtualService">
    <Connector connectionTimeout="20000" port="8082" protocol="HTTP/1.1" redirectPort="8443"/> 
    <Connector port="8092" protocol="AJP/1.3" redirectPort="8443" />
    <Engine name="myVirtualServiceEngine" debug="0" defaultHost="localhost">
        <Host appBase="webapps2" autoDeploy="true" name="localhost" unpackWARs="true">
        	 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access8082_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        	  <Context path="" docBase="." debug="0"  reloadable="true"/>
        </Host>
    </Engine>
  </Service>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值