文章目录
- Tomcat部署
- 1 Tomcat概述
- 2 组件
- 2.1 核心组件
- 2.2 功能组件
- 2.3 子容器
- 2.4 请求过程
- 3 安装部署Tomcat
- 3.1 关闭防火墙,软件包上传
- 3.2 安装JDK
- 3.3 设置JDK环境变量
- 3.4 测试JDK是否安装成功
- 3.5 安装启动Tomcat
- 4 优化Tomcat启动速度
- 5 Tomcat虚拟主机配置
- 5.1 创建项目目录和文件
- 5.2 修改Tomcat主配置文件server.xml
- 5.3 客户端浏览器访问验证
- 6 Tomcat多实例部署
- 6.1 安装好jdk
- 6.2 安装Tomcat
- 6.3 配置环境变量
- 6.4 修改Tomcat1的server.xml文件
- 6.5 修改各实例中的startup.sh和shutdown.sh文件
- 6.6 启动各tomcat中的/bin/startup.sh
- 6.7 浏览器访问测试
Tomcat部署
1 Tomcat概述
轻量级应用服务器
适用于**中小型系统和并发访问用户不是很多**的场合
开发和调试JSP程序
2 组件
2.1 核心组件
- web容器
- 完成web服务器的功能
- Servlet容器
- 名字叫catalina,用于处理Servlet代码
- JSP容器
- 将JSP动态网页翻译给Servlet代码
2.2 功能组件
- connector
- 监听端口接收外界请求
- 请求处理后传递给容器做业务处理
- 反馈容器处理结果
- container
- 由Engine/Host/Context/Wrapper四个子容器组成
- 管理和调用Servlet
2.3 子容器
-
Engine引擎
- 用来管理多个虚拟主机
- 一个Service最多只能有一个Engine
-
Host虚拟主机
- 通过配置Host就可以添加站点
-
Context
- 管理web应用的路径
- 包含多个servlet封装器
-
Wrapper封装器
- 创建、执行和销毁对象实例
- 每个Wrapper封装一个servlet
2.4 请求过程
-
客户端(浏览器)发送请求到connector(暴露的8080端口)
connector将请求转发给container(engine) -
engine根据域名发送给对应的虚拟主机再转发请求给host
-
host再根据用户的url访问路径将请求转发到对应的context
-
context根据URL路径的web应用再将请求转发给wrapper
-
wrapper再根据应用程序处理业务逻辑
-
处理完后再一层层的返回回去
3 安装部署Tomcat
3.1 关闭防火墙,软件包上传
jdk-8u201-linux-x64.rpm
apache-tomcat-9.0.16.tar.gz
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
3.2 安装JDK
cd /opt
rpm -qpl jdk-8u201-linux-x64.rpm
rpm -ivh jdk-8u201-linux-x64.rpm
java -version
3.3 设置JDK环境变量
vim /ect/profile.d/java.sh
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
suorce /etc/profile.d/java.sh
java -version
/etc/profile
3.4 测试JDK是否安装成功
vim Hello.java
##首先使用文本工具编写java源代码,比如 Hello.java ;
public class Hello {
public static void main(String[] args){
System.out.println("Hello world!");
}
}
javac Hello.java
##在命令行中,输入命令:javac Hello.java,对源代码进行编译,生成 class 字节码文件;
java Hello
编译完成后,如果没有报错信息,输入命令:java Hello,运行 class 字节码文件,由 JVM 对字节码进行解释和运行,打印 “Hello World”
3.5 安装启动Tomcat
cd /opt
tar zcvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
##启动tomcat ##
#后台启动
/usr/lcoal/tomcat/bin/startup.sh
或
/usr/lcoal/tomcat/bin/catalina.sh strat
#前台启动
/usr/local/tomcat/bin/catalina.sh run
netatst -natp | gerp 8080
浏览器访问Tomcat的默认主页
4 优化Tomcat启动速度
vim /usr/java/jdk1.8.0_201-amd64/jre/lib/security/java.security
--117行--修改
securerandom.source=file:/dev/urandom
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh
主要目录说明
●bin:存放启动和关闭Tomcat的脚本文件,比较常用的是 catalina.sh、startup.sh、shutdown.sh三个文件
●conf:存放Tomcat 服务器的各种配置文件,比较常用的是 server.xml、context.xml、tomcat-users.xml、web.xml 四个文件
① server.xml: Tomcat的主配置文件,包含Service,Connector,Engine,Realm,Valve,Hosts主组件的相关配置信息;
② ==context.xml:==所有host的默认配置信息;
③ tomcat-user.xml:Realm认证时用到的相关角色、用户和密码等信息,Tomcat自带的manager默认情况下会用到此文件,在Tomcat中添加/删除用户,为用户指|定角色等将通过编辑此文件实现;
④ web.xml:遵循Servlet规范标准的配置文件,用于配置servlet,并为所有的web应用程序提供包括MIME映射等默认配置信息;
●lib:存放Tomcat运行需要的库文件的jar 包,一般不作任何改动,除非连接第三方服务,比如 redis,那就需要添加相对应的jar 包
●logs:存放 Tomcat 执行时的日志
●temp:存放 Tomcat 运行时产生的文件
●webapps:存放 Tomcat 默认的 Web 应用部署目录
●work:Tomcat工作日录,存放jsp编译后产生的class文件,一般清除Tomcat缓存的时候会使用到
●src:存放Tomcat 的源代码
●doc:存放Tomcat文档
5 Tomcat虚拟主机配置
很多时候生产环境会有多个项目需要运行,一般不会是在一台服务器上运行多个 Tomcat 服务,这样会消耗太多的系统资源
此时, 就需要使用到 Tomcat 虚拟主机
5.1 创建项目目录和文件
mdkir /usr/local/tomcat/webapps/kgc
mdkir /usr/local/tomcat/webapps/benet
ehco "This is kgc page\!" > /usr/local/tomcat/webapps/kgc/index.jsp
ehco "This is benet page\!" > /usr/local/tomcat/webapps/benet/index.jsp
5.2 修改Tomcat主配置文件server.xml
vim /usr/local/tomcat/conf/server.xml
--165行前--插入
<Host name="www.kgc.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tmocat/webapps/kgc" path="" reloadable="true" />
</Host>
<Host name="www.benet.com" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tmocat/webapps/benet" path="" reloadable="true" />
</Host>
5.3 客户端浏览器访问验证
6 Tomcat多实例部署
6.1 安装好jdk
6.2 安装Tomcat
cd /opt
tar zxvf apache-tomcat-9.0.16.tar.gz
mv apache-tomcat-9.0.16 /usr/local/tomcat
cp -a /usr/local/tomcat /usr/local/tomcat1
6.3 配置环境变量
vim /etc/profile.d/tomcat.sh
#tomcat1
export CATALINA_HOME1=/usr/local/tomcat
export CATALINA_BASE1=/usr/local/tomcat
export TOMCAT_HOME1=/usr/local/tomcat
#tomcat2
export CATALINA_HOME2=/usr/local/tomcat1
export CATALINA_BASE2=/usr/local/tomcat1
export TOMCAT_HOME2=/usr/local/tomcat1
source /etc/profile.d/tomcat.sh
6.4 修改Tomcat1的server.xml文件
vim /usr/local/tomcat2/conf/server.xml
<Server port="8006" shutdown="SHUTDOWN">
#22行,修改Server prot,默认为8005 -> 修改为8006
<Connector port="8081" protocol="HTTP/1.1"
#69行,修改Connector port,HTTP/1.1 默认为8080 -> 修改为8081
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
#116行,修改Connector port AJP/1.3,默认为8009 -> 修改为8010
第一个连接器默认监听8080端口,负责建立HTTP连接。在通过浏览器访问Tomcat服务器的Web应用时,使用的就是这个连接器
第二个连接器默认监听8009端口,负责和其他的HTTP服务器建立连接。在把Tomcat与其他HTTP服务器集成时,就需要用到这个连接器
6.5 修改各实例中的startup.sh和shutdown.sh文件
vim /usr/local/tomcat/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
##添加以下内容
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
vim /usr/local/tomcat/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE1
export CATALINA_HOME=$CATALINA_HOME1
export TOMCAT_HOME=$TOMCAT_HOME1
vim /usr/local/tomcat1/bin/startup.sh
# -----------------------------------------------------------------------------
# Start Script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
vim /usr/local/tomcat1/bin/shutdown.sh
# -----------------------------------------------------------------------------
# Stop script for the CATALINA Server
# -----------------------------------------------------------------------------
export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2
tomcatbinstartupsh_340">6.6 启动各tomcat中的/bin/startup.sh
/usr/local/tomcat/bin/startup.sh
/usr/local/tomcat1/bin/startup.sh
netstat -antp | grep java