Tomcat 学习开发笔记

目录简介

  1. bin:启动和关闭tomcat的bat文件
  2. conf:配置文件

    • server.xml该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)
    • web.xml文件配置与web应用(web应用相当于一个web站点)
    • tomcat-user.xml配置用户名密码和相关权限.
  3. lib:该目录放置运行tomcat运行需要的jar包

  4. logs:存放日志,当我们需要查看日志的时候,可以查询信息
  5. webapps:放置我们的web应用
  6. work工作目录:该目录用于存放jsp被访问后生成对应的server文件和.class文件

配置虚拟目录

,默认情况下,只有webapps下的目录才能被Tomcat自动管理成一个web站点,web站点的目录分散到其他磁盘管理就需要配置虚拟目录。把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射

方法一:

  在${TOMCAT_NOME}/conf/server.xml文件中加入,如下代码。path表示的是访问时输入的web名,docBase表示的是站点目录的绝对路径

    <Context path="/web1" docBase="path/of/web1"/>

方法二:

  进入到${TOMCAT_NOME}/conf/Catalina/localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。

  xml文件的代码如下,docBase是你web站点的绝对路径

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

      <Context docBase="path/of/web1" reloadable="true"/> 

配置域名

编辑/etc/hosts文件,添加域名:

复制代码
127.0.0.1       localhost
127.0.1.1       ubuntu

# The following lines are desirable for IPv6 capable hosts
::1     ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

设置虚拟主机

通过作用虚拟主机,可以使多个不同域名的网站共存于一个Tomcat中

在tomcat的server.xml文件中添加主机名: 

  <Host name="hostname" appBase="path/of/webapps">
    <Context path="/web1" docBase="path/of/web1"/>
  </Host>

host appBase属性 指定WEB应用程序的配置目录。是 tomcat安装目录下的相对路径也可以自定义一绝对目录路径作为webapps应用存放点。 设定例:<Host name="localhost" appBase="webapps" > 譬如当你把 abc.war发布到webapps目录下的时候,通过下面的URL就可以访问了。 http://servername:端口号/abc 
Context doBase属性 当你要把WEB应用程序发布到webapps以外的目录下的时候,就要用这个设置。 要指定绝对路径。

复制代码
      <Host name="tomcat"  appBase="/home/focus/Templates/webapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <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="/test1" docBase="/home/focus/Templates/webapps/test1" />-->

      </Host> 
复制代码

总结:

  appBase,这个目录表示:
    1 这个目录下面的子目录将自动被部署为应用。
    2 这个目录下面的.war文件将被自动解压缩并部署为应用

  而docBase只是指向了你某个应用的目录,这个可以和appBase没有任何关系。

 

原文地址:https://www.cnblogs.com/m2492565210/p/7457196.html