Tomcat
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Tomcat相关的知识,希望对你有一定的参考价值。
1. Tomcat 简介
tomcat
是 Web Container
的开源实现, 是一个轻量级的 web
服务器, 是开发和调试 JSP
程序的首选
1.1. Tomcat 架构组件
Server
:Tomcat
的一个实例, 通常一个JVM
只能包含一个Tomcat
实例; 是Tomcat
中的顶级组件, 一个Server
包含一个或多个Service
Service
:Service
调用Servlet Engine
, 用于处理客户端请求Connectors
: 负责连接客户端请求至Servlet
容器内的Web
应用程序, 通常指的是接收客户发来请求的位置及服务器端分配的端口。默认端口通常是HTTP
协议的8080
, 一个引擎可以配置多个连接器, 但这些连接器必须使用不同的端口; 默认的连接器是基于HTTP/1.1
的Coyote
Engine
:Engine
是指处理请求的Servlet
引擎组件, 它检查请求的HTTP
首部信息以辨别请求应该发往哪个host
或context
, 并将请求处理后的结果返回的相应的客户端Host
:Host
组件类似于Apache
中的虚拟主机, 但在Tomcat
中只支持基于FQDN
的"虚拟主机"
。并且一个引擎至少要包含一个主机Context
:Context
组件是最内层次的组件, 它表示Web
应用程序本身; 配置一个Context
最主要的是指定Web
应用程序的根目录, 以便Servlet
容器能够将用户请求发往正确的位置
2. 部署 Tomcat 9
2.1. 安装 Tomcat
[root@localhost ~]# yum -y install java-1.8.0-openjdk.x86_64
[root@localhost ~]# wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.24/bin/apache-tomcat-9.0.24.tar.gz
[root@localhost ~]# tar xvf apache-tomcat-9.0.24.tar.gz -C /usr/local/
[root@localhost ~]# ln -s /usr/local/apache-tomcat-9.0.24/ /usr/local/tomcat
[root@localhost ~]# cat > /etc/profile.d/java.sh << EOF
export CATALINA_HOME=/usr/local/tomcat
export PATH=${CATALINA_HOME}/bin:${PATH}
EOF
[root@localhost ~]# source /etc/profile.d/java.sh
[root@localhost ~]# exec bash
[root@localhost ~]# catalina.sh start
2.2. Tomcat 目录结构
bin 可执行脚本
lib 运行时依赖的库文件
logs 日志文件
work Tomcat 的工作目录
conf 配置文件
server.xml: Tomcat 的主配置文件, 包含 Service, Connector, Engine, Realm, Valve, Hosts 等组件的相关配置信息
web.xml: 遵循 Servlet 规范标准的配置文件, 用于配置 servlet, 并为所有的 Web 应用程序提供默认配置信息
tomcat-user.xml: 用户认证时用到的相关角色、用户和密码等信息
context.xml: 所有 host 的默认配置信息
catalina.policy: Java 相关的安全策略配置文件, 在系统资源级别上提供访问控制的能力
catalina.properties: Tomcat 内部 Package 的定义及访问相关的控制
logging.properties: 日志记录相关的配置信息
webapps: web 应用所在目录, web 资源的存放目录
docs: 帮助文档
examples: 配置示例
host-manager: 虚拟主机管理
manager: Tomcat 管理
ROOT: 默认访问目录
每个应用程序目录下都有几个同样的目录
WEB-INF:当前webapp的私有资源,通常存放当前webapp的web.xml文件
META-INF:当前webapp的私有资源,通常存放当前webapp的context.xml文件
classes:当前webapp的私有类
lib:当前webapp的私有类,打包为jar格式
index.jpg:当前webapp的首页
2.3. 部署 webapp
冷部署: 把 webapp 复制的指定目录之后重启 Tomcat
热部署: 在不停止 Tomcat 的前提下部署 webapp
部署工具: manager(Tomcat 的管理页面)
反部署: 停止 webapp 并从 Tomcat 实例中拆除其相关文件
stop: 停止 webapp
start: 启动 ebapp
redeploy: 重新部署
2.4. 在 Tomcat 中部署 Jenkins
[root@localhost ~]# wget -O /usr/local/tomcat/webapps/jenkins.war http://mirror.serverion.com/jenkins/war-stable/2.176.3/jenkins.war
[root@localhost ~]# catalina.sh stop
[root@localhost ~]# catalina.sh start
以上是关于Tomcat的主要内容,如果未能解决你的问题,请参考以下文章
jsp页面被tomcat引擎运行的时候组装成java片段,但是这些java片段怎么没有main方法作为程序的入口啊?