zoukankan      html  css  js  c++  java
  • Tomcat虚拟主机配置

    一、需求

    在项目经验中,主机的TCP协议(HTTP协议是基于TCP/IP协议)的80端口是稀缺资源,很多情况下不可能为一个应用而去申请一台主机(不管是物理主机还是虚拟服务器).这时候很多的Java Web应用会放到一个拥有TCP的80端口的Tomcat下面,由于每个应用都要有自己的域名地址(这里域名后面肯定不能有端口),所以需要我们配置该Tomcat来支持一个IP对应多个域名,甚至一个应用对应多个域名.

    二、具体解决方案和步骤:

    我们已经有一个安装好的Tomcat6.0,并且在tomcat目录下自行建立了一个webapps2目录,在webapps和webapps2目录下分别都放置了一个测试项目"6"和"7".

    1、修改tomcat 6.0的默认访问端口(在conf目录的server.xml中),将8080改为80.
    2、修改tomcat 6.0的虚拟主机配置(在conf目录的server.xml中).

    <Engine name="Catalina" defaultHost="www.6.com">  
      <Host name="www.6.com"  appBase="webapps"  unpackWARs="true" autoDeploy="true"  
            xmlValidation="false" xmlNamespaceAware="false">  
            <Context path="" reloadable="true"  docBase="6"  workDir="" />//如果不配置context则默认访问ROOT 
      </Host>  
      <Host name="www.7.com"  appBase="webapps2"  unpackWARs="true" autoDeploy="true"  
            xmlValidation="false" xmlNamespaceAware="false">  
            <Context path="" reloadable="true"  docBase="7"  workDir="" />  
      </Host>

    1.Engine的dafaultHost:表示访问该tomcat默认进入的主机,注意一定不能是localhost,不然别人通过你的ip访问,就会默认进入tomcat的管理界面.
    2.Host的name:表示该主机绑定的域名,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host.
    3.Host的appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径.
    4.<context>中path相当于虚拟目录名字,而docbase则是具体的文件位置.

    3、最后在hosts文件中进行虚拟的DNS映射:

    127.0.0.1 www.6.com  
    127.0.0.1 www.7.com  
    127.0.0.1 7.com

    这时就可以通过curl http://www.6.com/访问webapps2目录下的目录名称为"6"的工程,通过curl http://www.7.com/访问webapps2目录下的目录名称为"7"的工程了.

    ps:apache服务器虚拟主机设置
    http://www.cnblogs.com/hi-bazinga/archive/2012/04/23/2466605.html.

  • 相关阅读:
    关于JAVA中HashMap集合的的三种超不好记的便利方案
    浅谈面向对象三大特性
    新鲜出炉springmvc
    看看我们以前搞过的几个对象
    在java中使用JDBC访问数据库
    关于多线程的小例子,快速上手!无需停留!!!
    关于java异常处理的面试题
    关于java异常处理
    关于java的log4j配置
    总结
  • 原文地址:https://www.cnblogs.com/wangweiNB/p/5796458.html
Copyright © 2011-2022 走看看