一、tomcat组件及其关系
tomcat组件完全展现在配置文件server.xml中,详细配置见https://blog.csdn.net/ab7253957/article/details/85260211
1、Connector 连接器,用于建立用户请求,将用户请求转化为Request
(1) HTTP 1.1
(2) SSL (https)
(3) AJP( Apache JServ Protocol) apache 私有协议,用于apache 反向代理Tomcat
2、Container
(1) Engine 引擎 默认catalina
(2) Host 虚拟机主机, 基于域名分发请求
(3) Context 隔离各个WEB应用,每个Context的ClassLoader都是独立,可以理解为war包部署
3、Component 组件
(1)Manager (管理器)
(2)logger (日志管理)
(3)loader (载入器)
(4)pipeline (管道)
(5)valve (管道中的阀)
下图为架构图,Server为服务器,Service为服务,一个Server可以配置多个Service,一个Service可以配置多个Connector,一个Connector只有一个Engine,一个Engine可以配置多个Host,一个Host可以配置多个Context。
启动参数 | 描述说明 |
JAVA_OPTS | jvm 启动参数 , 设置内存 编码等 -Xms100m -Xmx200m -Dfile.encoding=UTF-8 |
JAVA_HOME | 指定jdk 目录,如果未设置从java 环境变量当中去找。 |
CATALINA_HOME | Tomcat 程序根目录 |
CATALINA_BASE | 应用部署目录,默认为$CATALINA_HOME |
CATALINA_OUT | 应用日志输出目录:默认$CATALINA_BASE/log |
CATALINA_TMPDIR | 应用临时目录:默认:$CATALINA_BASE/temp |
二、生产环境配置
部署思想:多个应用使用同一个tomcat不同的配置文件启动,方便进行版本更新
(1)创建部署路径
mkdir app
(2)拷贝tomcat目录下webapps、conf两个目录到app目录下,并创建logs目录
(创建执行脚本tomcat.sh)
当前目录文件如下
tomcat.sh
#!/bin/bash
#可修改
export JAVA_OPTS="-Xms100m -Xmx200m"
#需修改 JDK目录
export JAVA_HOME=/root/svr/jdk/
#需修改 tomcat目录,生产环境使用软链接方式
export CATALINA_HOME=/usr/local/apache-tomcat-8.5.34
#应用程序路径
export CATALINA_BASE="`pwd`"
case $1 in
start)
$CATALINA_HOME/bin/catalina.sh start
echo start success!!
;;
stop)
$CATALINA_HOME/bin/catalina.sh stop
echo stop success!!
;;
restart)
$CATALINA_HOME/bin/catalina.sh stop
echo stop success!!
sleep 2
$CATALINA_HOME/bin/catalina.sh start
echo start success!!
;;
version)
$CATALINA_HOME/bin/catalina.sh version
;;
configtest)
$CATALINA_HOME/bin/catalina.sh configtest
;;
esac
exit 0
#查看环境配置
./catalina.sh -version
#测试启动
./catalina.sh configtest