安装 Tomcat
~]# tar xf apache-tomcat-VERSION.tar.gz -C /usr/local/
~]# cd /usr/local
~]# ln -sv apache-tomcat-VERSION tomcat
~]# vim /etc/profile.d/tomcat.sh
export CATALINA_BASE=/usr/local/tomcat
export PATH=$CATALINA_BASE/bin:$PATH
Tomcat 的目录结构
- bin:脚本,及启动时用到的类
- conf:配置文件目录
- lib:库文件,Java类库,jar
- logs:日志文件目录
- temp:临时文件目录
- webapps:webapp的默认目录
- work:工作目录
~]# catalina.sh --help
debug Start Catalina in a debugger
debug -security Debug Catalina with a security manager
jpda start Start Catalina under JPDA debugger
run Start Catalina in the current window
run -security Start in the current window with security manager
start Start Catalina in a separate window
start -security Start in a separate window with security manager
stop Stop Catalina, waiting up to 5 seconds for the process to end
stop n Stop Catalina, waiting up to n seconds for the process to end
stop -force Stop Catalina, wait up to 5 seconds and then use kill -KILL if still running
stop n -force Stop Catalina, wait up to n seconds and then use kill -KILL if still running
configtest Run a basic syntax check on server.xml - check exit code for result
version What version of tomcat are you running?
rpm 包安装的程序环境
- 配置文件目录:/etc/tomcat
1.主配置文件:server.xml
- webapps存放位置:/var/lib/tomcat/webapps/
1.examples
2.manager
3.host-manager
4.docs
- Unit File:tomcat.service
- 环境配置文件:/etc/sysconfig/tomcat
Tomcat 配置文件
配置文件构成
- server.xml:主配置文件
- web.xml:每个 webapp 只有 “部署” 后才能被访问,它的部署方式通常由 web.xml 进行定义,其存放位置为 WEB-INF/ 目录中;此文件为所有的 webapps 提供默认部署相关的配置
- context.xml:每个 webapp 都可以专用的配置文件,它通常由专用的配置文件 context.xml 来定义,其存放位置为 WEB-INF/ 目录中;此文件为所有的 webapps 提供默认配置
- tomcat-users.xml:用户认证的账号和密码文件
- catalina.policy:当使用 -security 选项启动 tomcat 时,用于为 tomcat 设置安全策略
- catalina.properties:Java 属性的定义文件,用于设定类加载器路径,以及一些与 JVM 调优相关参数
- logging.properties:日志系统相关的配置 log4
Tomcat 的核心组件 server.xml
<Server>
<Service>
<connector/>
<connector/>
...
<Engine>
<Host>
<Context/>
<Context/>
...
</Host>
<Host>
...
</Host>
...
</Engine>
</Service>
</Server>
Host 段
appBase="webapps" # 相对路径,相对于 Catalina_Base 目录,可使用绝对路径,建议使用自定义路径存放
name="localhost" # 仅支持主机名
unpackWARs="true" # 是否支持自动解包 war 文件
autoDeploy="true" # 是否热部署,不建议使用热部署
Context 段
path # 通过什么路径访问
docBase # 可使用绝对路径,使用相对路径时是相对 Host 段中的 appBase 而不是 Catalina Base
reloadable # 是否支持重载
value 段
perfix # 前缀名
suffix # 后缀名
pattern # 中间项
每一个组件都由一个Java“类”实现,这些组件大体可分为以下几个类型
- 顶级组件:Server
- 服务类组件:Service
- 连接器组件:http, https, ajp(apache jserv protocol)
- 容器类:Engine, Host, Context
- 被嵌套类:valve, logger, realm, loader, manager, ...
- 集群类组件:listener, cluster, ...
DocumentRoot, root
uri / <-> Directory
CATALINA_BASE/webapps/
eshop: /
ROOT/
bbs: /bbs/
bbs/
/var/www/html/
eshop: /
images/logo.jpg
-> http://www.rookie.com/images/logo.jpg
bbs: /bbs/