一、Tomcat目录介绍

1.主目录介绍

1
tree -L 1 /app/tomcat/

2.webapps目录

1
tree /app/tomcat/webapps/ -L 1

说明:生产环境中,为了安全考虑,只保留root目录,其他都要删掉

3.Tomcat管理功能

此功能仅测试环境熟悉软件可用,生产环境千万不要用。

Tomcat管理功能用于对Tomcat自身以及部署在Tomcat上的应用进行管理的web应用。默认禁用状态。如需开启,需要配置管理用户,文件为tomcat-users.xml。

1
2
3
4
5
6
7
8
vim /app/tomcat/conf/tomcat-users.xml
…………
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>
</tomcat-users> #→在此行前加入上面三行
/app/tomcat/bin/shutdown.sh
/app/tomcat/bin/startup.sh

然后登陆网页,点击下图三个按钮可以分别进入不同的管理界面

二、Tomcat日志

1.日志位置

1
tree /app/tomcat/logs/

2.日志说明

  • 实时日志
    catalina.out日志是tomcat的实时运行日志,文件会越来越大,需要定时清理
    catalina.时间.log是每天自动进行日志切割后的文件
  • 站点日志
    每个站点运行都会写入到站点日志中

三、Tomcat配置文件

1.Tomcat配置文件

1
tree -L 1 /app/tomcat/conf

2.配置文件结构

1)server.xml组件类别

  • 顶级组件: 位于整个配置的顶层,如server。
  • 容器类组件: 可以包含其它组件的组件,如service、engine、host、context。
  • 连接器组件: 连接用户请求至tomcat,如connector。
  • 被嵌套类组件:位于一个容器当中,不能包含其他组件,如Valve、logger。

2)配置文件模板

1
2
3
4
5
6
7
8
9
10
11
12
13
<server>
<service>
<connector />
<engine>
<host>
<context></context>
</host>
<host>
<context></context>
</host>
</engine>
</service>
</server>

3.组件详解

  • engine:
    核心容器组件,catalina引擎,负责通过connector接收用户请求,并处理请求,将请求转至对应的虚拟主机host。
  • host:
    类似于httpd中的虚拟主机,一般而言支持基于FQDN的虚拟主机。
  • context:
    定义一个应用程序,是一个最内层的容器类组件(不能再嵌套)。配置context的主要目的指定对应对的webapp的根目录,类似于httpd的alias,其还能为webapp指定额外的属性,如部署方式等。
  • connector:
    接收用户请求,类似于httpd的listen配置监听端口的。
  • service:
    将connector关联至engine,因此一个service内部可以有多个connector,但只能有一个引擎engine。service内部有两个connector,一个engine。因此,一般情况下一个server内部只有一个service,一个service内部只有一个engine,但一个service内部可以有多个connector。
  • server:
    表示一个运行于JVM中的tomcat实例。
  • Valve:
    阀门,拦截请求并在将其转至对应的webapp前进行某种处理操作,可以用于任何容器中,比如记录日志(access log valve)、基于IP做访问控制(remote address filter valve)。
  • logger:
    日志记录器,用于记录组件内部的状态信息,可以用于除context外的任何容器中。
  • realm:
    可以用于任意容器类的组件中,关联一个用户认证库,实现认证和授权。可以关联的认证库有两种:UserDatabaseRealm、MemoryRealm和JDBCRealm。
  • UserDatabaseRealm:
    使用JNDI自定义的用户认证库。
  • MemoryRealm:
    认证信息定义在tomcat-users.xml中。
  • JDBCRealm:
    认证信息定义在数据库中,并通过JDBC连接至数据库中查找认证用户。