【传智播客郑州校区分享】Tomcat中虚拟路径,虚拟主机详解

【传智播客郑州校区分享】Tomcat中虚拟路径,虚拟主机详解


简介: Tomcat中部署web应用程序的方式

2种方式:

· 1.直接将一个web应用程序放置在tomcat/webapps目录下。这时web应用程序目录名称就是我们访问tomcat下的这个应用程序的名称

· 

2.将一个不在tomcat下的web应用程序部署加载. 此时就要在TOMCAT中设置虚拟路径了.

· 

Tomcat的加载web应用的顺序是先加载 $Tomcat_home$\conf\Catalina\localhost下面的xml文件(文件中配置了web项目所在路径),然后再加载webapps下的web项目.

 

虚拟路径的配置

例如: 将F:\mywebapps\XXX项目.部署到tomact.

第一种配置虚拟路径的方式:(推荐使用)

Tomcathome\conf\Catalina\localhost路径下新建一个XML文件,注意:XML文件的名字也就是项目部署成功后的web根路径.例如创建一个myapp.xml文件.

myapp.xml:

 

     <?xml version="1.0" encoding="UTF-8"?>

     <Context docBase="F:\mywebapps\XXX项目"  reloadable="true"  debug="0" path="/mya"/>

     path : web的跟路径. 可以不写,也不一定是/myapp. 也就是说在这里不起作用. web跟路径默认就是文件名.

此时就设置好了虚拟路径.

访问路径为http://127.0.0.1:8080/myapp.

注意:

如果docBase=”F:\mywebapps”.(没有指定具体项目名,此时相当于tamcat下webapps目录).

访问路径为http://127.0.0.1:8080/myapp/XXX项目.

 

第二种配置虚拟路径的方式:(tomcat6后不推荐)

我们可以在tomcat/conf/server.xml文件中配置,在server.xml文件中的结束标签前添加一段配置

<Host name="localhost"  appBase="webapps"

            unpackWARs="true" autoDeploy="true">

 

        ... 此处省略n

        <Context docBase="F:\mywebapps\XXX项目"  reloadable="true"  debug="0" path="/myapp"/>

</Host>

注意:

此时path一定要写,因为我们此时没有新建xml文件了,所以一定要指明web应用的根目录。

访问路径http://127.0.0.1:8080/myapp.

配置属性含义:

· docBase : 配置web应用程序所在的目录

· path : web应用的跟路径名

· reloadable : 当reloadable=true时,相关文件改变,Tomcat先停止web app并释放内存,然后重新加载web app

————-基于主机名的虚拟主机配置—————
第一种: 基于主机名的虚拟主机配置
1.打开C:\Windows\System32\drivers\etc 下面的hosts文件.

127.0.0.1    localhost 有了这一行,浏览器输入:http://localhost:8080/ 相当于http://127.0.0.1:8080/127.0.0.1    mysite    同上.

2.在tomcat/conf/service.xml中 加入如下配置一段 配置

 

    <Host ...>

    ......

    </Host>  这里的Host配置,是配置文件原本就有的,下面的需要我们自己增加

 

    <!-- 我们自己配置的虚拟主机-->

      <Host name="mysite"  appBase="F:\mywebapps"

            unpackWARs="true" autoDeploy="true">

      <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log." suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />  

      </Host>

注意:

00001. name=”mysite” . 代表我们的主机名为 mysite.

00002. appBase=”F:\mywebapps”. 我们这个主机的站点,相当于tomcat中 webapps目录.

00003. Valve .这个节点不能少 

浏览器: http:mysite:8080/XX项目名. —–> F:\mywebapps\XX项目名.

 

第二种: 基于端口的虚拟主机配置

1.在tomcat/service.xml 里加入一段 配置.

<Service>  系统配置的servie

    ...

    </Service>

 

     <!--我们自己配置的service-->

    <Service name="myService">

 

    // 修改1. 这里将端口号改为8089.

    <Connector port="8089" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

    // 修改2.下面这行可以删除或者将8009改为其他端口, 否则启动tomcat是可能报8009端口被占用

     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />       

    <Engine name="Engine" defaultHost="localhost">

     <Realm className="org.apache.catalina.realm.LockOutRealm">      

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

               resourceName="UserDatabase"/>

      </Realm>

    // 默认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 "%r" %s %b" />

 

      </Host>

      <!-- 我们自己配置的虚拟主机

      name="mysite" . 代表我们的主机名为 mysite.

      appBase="F:\mywebapps". 我们这个主机的站点,相当于tomcat中 webapps目录.

      Valve .这个节点不能少

      -->

      <Host name="mysite"  appBase="F:\mywebapps"

            unpackWARs="true" autoDeploy="true">

 

        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

               prefix="localhost_access_log." suffix=".txt"

               pattern="%h %l %u %t "%r" %s %b" />       

      </Host>

    </Engine>

    </Service>

浏览器输入http://mysite:8089/XX项目名.—-> F:\mywebapps\XX项目名.

浏览器输入http://localhost:8089/XX项目名.—->tomcat中wabapps/XX项目名

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值