tomcat配置虚拟目录和虚拟主机

Posted node2017

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat配置虚拟目录和虚拟主机相关的知识,希望对你有一定的参考价值。

在server.xml的host节点配置多个context,就是虚拟目录了,很简单

<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        <Context path="/liuxg1" docBase="/liuxg1" reloadable="true" crossContext="true"/>
        <Context path="/liuxg2" docBase="/liuxg2" reloadable="true" crossContext="true"/>       

      </Host>

crossContext属性能让你的应用共享上下文环境,例如:
在liuxg1中的项目中有如下代码

 ServletContext liuxg1 =session.getServletContext(); 
  liuxg1.setAttribute("user", "liuxg1");

该代码的作用是将key为user,value为liuxg1放到项目的上下文中

然后在liuxg2中的项目中有如下代码

 ServletContext context =session.getServletContext(); 
 ServletContext liuxg1 = context.getContext("/liuxg1");    
 out.print("user=" + (String)liuxg1.getAttribute("user")); 

该代码的作用是将项目liuxg1的上下文存放的key为user的value拿出。

appBase和docBase可以让你指定项目的存放路径

接下来配置虚拟主机,也很简单,只需要在server.xml的engine节点下配置多个host即可

<Engine name="Catalina" defaultHost="localhost">
      <Host name="localhost"  appBase="webapps"
            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="www.liuxg1.com"  appBase="E:\\liuxg\\"
            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" />
        <Context path="/" docBase="/liuxg1" reloadable="true" />  
      </Host>

      <Host name="www.liuxg2.com"  appBase="E:\\liuxg\\"
            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" />
        <Context path="/" docBase="/liuxg2" reloadable="true" />  
      </Host>
    </Engine>

虚拟的主机的左右,可以让你根据域名的不同访问不同的项目,这些项目都可以放在同一个tomcat下,且这些域名都是同端口

以上是关于tomcat配置虚拟目录和虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

tomcat配置虚拟目录和虚拟主机

Tomcat的Server.xml虚拟主机和虚拟目录的配置

配置Tomcat虚拟目录和主机,通过主机名来访问项目

#tomcat#虚拟主机配置及访问

Tomcat 部署及虚拟主机配置与优化

Tomcat虚拟主机配置