tomcat配置虚拟主机【一个ip对应几个域名】

这个是我第一次编辑博客,只是想记录一些东西:【参考http://elf8848.iteye.com/blog/1684557】

需求:需要将两个域名定向到同一个ip

问题:没有接触过这种情况,之前以为一个域名只能对应一个ip,事实证明我真的是太菜逼了,现在的域名和ip都可以不是一对一的关系了

正题:OK,切入正题,

假设我们有三个包,a.war,b.war,c.war,然后需要将www.a.com,www.b.com,www.c.com这三个域名都指向同一个ip地址的服务器:192.168.0.1

服务器容器是一个tomcat【如果不需要启动工程,只是需要放置一些静态页面的话,其实不需要war包】


  1. 找到tomcat的目录:F:\webwork\apache-tomcat-7.0.59【linux下没有盘符】,会发现底下有我们部署war包的路径webapps,我们一般就只有这一个,我们需要做的是建立多个这种目录,如:webapps_a,webapps_b,webapps_c,然后把3个war包扔进去。
  2. 找到tomcat配置的server.xml,修改其中<Engine>标签下的内容:
    <Engine defaultHost="localhost" name="Catalina">
          <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true"> 
          <Context docBase="yu_demo" path="/yu_demo" reloadable="true" source="org.eclipse.jst.jee.server:yu_demo"/></Host>
    </Engine>
    修改为:
    <Engine name="Catalina" defaultHost="wwww.a.com">  
        <Host name="www.a.com" appBase="webapps_a" autoDeploy="true" unpackWARs="true">  
          <Alias>a.com</Alias>              
          <Context path="/" docBase="a" reloadable="true" />  
        </Host>  
        <Host name="www.b.com" appBase="webapps_b" autoDeploy="true" unpackWARs="true">  
          <Alias>b.com</Alias>
          <Context path="/" docBase="b" reloadable="true" />  
        </Host>  
        <Host name="www.ccc.com" appBase="webapps_c" autoDeploy="true" unpackWARs="true">  
          <Alias>a.com</Alias>     
          <Context path="/" docBase="c" reloadable="true" />  
        </Host>  
    </Engine>
  3. 以上几个标签说明:【更多关于server.xml的请参考:http://www.cnblogs.com/gugnv/archive/2012/02/01/2334187.html】
    defaultHost="www.a.com"的作用是,如果使用ip访问,默认进入www.a.com网站。
    <Host name="www.a.com" 表示,为当前Host绑定域名www.a.com
    appBase="webapps_a"的作用是指定Web应用程序的基本路径,这里可以存放多个程序,访问时一般是相对路径
    <Alias>标签的作用是为这个Host绑定多个别名。
    <Context docBase="a" 的作用是,a.war会被tomcat解包成a目录或者ROOT目录(具体哪个目录取决于后面的path参数),docBase的作用就是指向a目录,这里是相对路径,是相对于前面制定的webapps_a目录,也可以是绝对路径,这里如果不使用子目录,会导致应用程序被启动两次。
    <Context path="/"的作用是,指定Web应用得上下文根


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值