概论
Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,是 Apache 软件基金会的 Jakarta 项目中的一个核心项目,由 Apache、Sun 和其他一些公司及个人共同开发而成。
Tomcat的组成
Tomcat 由一系列的组件构成,核心组件有以下三个:
(1)Web 容器:完成 Web 服务器的功能。
(2)Servlet 容器:名字为 catalina,用于处理 Servlet 代码。
Servlet :Java Servlet 的简称,可以理解为是一个服务连接器,是用 Java 编写的服务器端程序,具有独立于平台和协议的特性, 简单的理解:servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。
(3)JSP 容器:用于将 JSP 动态网页翻译成 Servlet 代码。
JSP 全称 Java Server Pages,是一种动态网页开发技术。它使用 JSP 标签在HTML网页中插入 Java 代码。标签通常以 <% 开头,以 %> 结束。
JSP 是一种 Java servlet,主要用于实现 Java web 应用程序的用户界面部分。
JSP 通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。
Tomcat 功能组件结构
Tomcat 的核心功能有两个,分别是负责接收和反馈外部请求的连接器 Connector,和负责处理请求的容器 Container。 其中连接器和容器相辅相成,一起构成了基本的 web 服务 Service。每个 Tomcat 服务器可以管理多个 Service。
connnect连接器
暴露监听端口(默认为8080),接收客户端发来的请求和返回响应消息给客户端
container容器
负责处理用户请求页面的业务逻辑。由4个子容器 engine、host、context、wrapper(servlet) 组成(它们是父子关系)
子容器
engine:引擎,管理多个虚拟主机,一个container只有一个engine
host:一个host代表一个虚拟主机站点
context:管理web网页应用程序
wrapper:servlet封装器,负责处理业务逻辑,对象实例的创建、执行、销毁等动作
部署安装Tomcat
安装tomcat之前需要安装 jdk ,因为 jdk 是安装 tomcat 的必要环境
(1)上传 jdk 软件包到 /opt 目录
(2)解压压缩包
tar xf jdk-8u391-linux-x64.tar.gz
(3)移动 jdk 目录到 /usr/local 目录
mv jdk1.8.0_391/ /usr/local/
(4)在 /etc/profile 设置JDK环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_391
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
source /etc/profile
(5)上传 tomcat 软件包到 /opt 目录
(6)解压压缩包
tar xf apache-tomcat-8.5.16.tar.gz
(7)移动 tomcat 目录到 /usr/local/tomcat 目录中
mv apache-tomcat-8.5.16 /usr/local/tomcat
(8)后台启动或前台启动 tomcat 进程 或前台启动
后台启动: /usr/local/tomcat/bin/startup.sh
前台启动: /usr/local/tomcat/bin/catalina.sh run
(9)浏览器验证一下
http://192.168.80.80:8080/
Tomcat虚拟主机配置
(1)在 webapps 目录准备好各个虚拟主机站点使用的网页目录和测试网页文件
(2)修改tomcat主配置文件 server.xml
- 在 Engine 配置段下面添加多个 Host 配置段,并设置不同的虚拟机的配置参数(name="站点主机名" appBase="webapps)
- 在每个 Host 配置段下面添加 Context 配置段,并设置每个虚拟主机所使用的网页程序的配置参数(docBase="webapps/XXX" path="")
Tomcat多实例部署
1)修改tomcat主配置文件 server.xml 中的三个端口号 8080 8005 8009,每个实例要不一样
2)修改tomcat启动停止脚本 startup.sh shutdown.sh ,添加环境变量 export TOMCAT_HOME
CATALINA_HOME CATALINA_BASE 都指向每个实例各自的工作目录