用户工具


Tomcat虚拟主机配置

目前虚拟主机已经应用在服务器上,主要的部署方式为多项目共享一个端口的形式。


什么是虚拟主机

    虚拟主机是在网络服务器上分出一定的磁盘空间供用户放置站点、应用组件等,提供必要的站点功能、数据存放和传输功能。所谓虚拟
    主机,也叫“网站空间”,就是把一台运行在互联网上的服务器划分成多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的
    Internet服务器(支持WWW、FTP、E-mail等)功能。虚拟主机是网络发展的福音,极大的促进了网络技术的应用和普及。同时虚拟主
    机的租用服务也成了网络时代新的经济形式。

为什么要使用虚拟主机

    基于以上解释分析,一个Tomcat上可以配置多个Host,每个Host包含多个web个应用。当Tomcat接收到请求时,也要获取host请求
    头,并将头的值与host_name进行匹配,由匹配成功的host指定的web应用处理请求。Tomcat虚拟机使一个Tomcat可以同时运行多个
    应用,只需要启动一个JVM,节省系统资源。

Tomcat虚拟主机配置方法

  1. 打开Tomcat安装目录下conf/server.xml
  2. 数字列表项目在server.xml文档中找到Service,Engine节点添加虚拟主机
    <!-- defaultHost设置的主机为直接使用IP地址访问时的处理主机 -->
    <Engine name="sample" defaultHost="localhost">
        <Host name="localhost"  appBase="sampleapps" unpackWARs="true" autoDeploy="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
              prefix="localhost_access_log." suffix=".txt"
              pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        </Host>
        <!-- appBase为虚拟主机对应的应用路径 -->
        <Host name="t-web.1v.cn"  appBase="sampleapps" unpackWARs="true" autoDeploy="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
              prefix="localhost_access_log." suffix=".txt"
              pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        </Host>
        <Host name="t-web2.1v.cn"  appBase="sampleapps2" unpackWARs="true" autoDeploy="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
              prefix="localhost_access_log." suffix=".txt"
              pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        </Host>
        <Host name="t-web3.1v.cn"  appBase="sampleapps3" unpackWARs="true" autoDeploy="true">
            <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
              prefix="localhost_access_log." suffix=".txt"
              pattern="%h %l %u %t &quot;%r&quot; %s %b" />
        </Host>
    </Engine>
  1. 3保存后重启Tomcat

测试方法

  • 本地测试
    windows用户打开C:\WINDOWS\system32\drivers\etc的hosts这个文件,linux用户打开/ect的hosts文件或者vi /ect/hosts
    修改内容如下
        127.0.0.1       localhost
        127.0.0.1       t-web.1v.cn
        127.0.0.1       t-web2.1v.cn
        127.0.0.1       t-web3.1v.cn
  • 公网测试
    将t-web.1v.cn,t-web2.1v.cn,t-web3.1v.cn三个公网域名的IP映射至部署Tomcat服务器

@北京微朴信息技术有限责任公司