【应用服务器】Tomcat配置与部署详解
Tomcat
Tomcat 是一个开源的 Java Servlet 容器 和 Web 服务器,是 Apache 软件基金会的核心项目。
- Servlet 容器:运行 Java Servlet 和 JSP 的环境
- Web 服务器:处理 HTTP 请求和响应
- 轻量级应用服务器:相比 WebLogic、WebSphere 更轻量
主要职责:
-
接收 HTTP 请求(内置了一个简单的 HTTP 服务器)
-
将请求分发给对应的 Web 应用(基于 URL 映射)
-
执行 Servlet / JSP 并生成响应
-
返回 HTTP 响应给客户端
原理:
- Connector 监听请求 → Mapper 分发 → Servlet 执行 → 返回响应
配置文件:
├── bin/ # 启动/停止脚本
├── conf/ # 配置文件
├── lib/ # 依赖库
├── logs/ # 日志文件
├── temp/ # 临时文件
├── webapps/ # 部署的Web应用
└── work/ # 工作目录(JSP编译等)
目录结构:
Tomcat
├── Server # 整个 Tomcat 实例
├── Service # 服务组件
├── Connector # 连接器(处理网络连接)
├── Engine # 引擎(请求处理核心)
├── Host # 虚拟主机
├── Context # Web 应用上下文
└── Wrapper # Servlet 包装器
部署tomcat
# 1. 关闭防火墙和核心防护
systemctl disable firewalld --now
setenforce 0
# 2. 下载jdk安装包,上传至虚拟机,并解压
tar zxvf jdk-8u91-linux-x64.tar.gz -C /usr/local/
# 3. 更改全局环境配置文件
vim /etc/profileexport JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH# 刷新
source /etc/profile
# 4. 查看是否安装开发环境
java -version
# 5. 下载上传,并解压tomcat安装包
tar zxvf apache-tomcat-8.5.16.tar.gz
#移动到/usr/local/tomcat文件下,并改名为tomcat
mv /opt/apache-tomcat-8.5.16/ /usr/local/tomcat
# 6. 启动tomcat
# 关闭tomcat
/usr/local/tomcat/bin/shutdown.sh
# 启动tomcat
/usr/local/tomcat/bin/startup.sh
# 7. 查看端口
netstat -ntap | grep 8080
部署反向代理与负载均衡
Nginx 服务器:192.168.65.131
Tomcat服务器1:192.168.65.128
Tomcat服务器2:192.168.65.133
# 1. 部署nginx负载均衡器,部署后端2台Tomcat 应用服务器
# 2. Tomcat1 server配置,jsp文件
mkdir /usr/local/tomcat/webapps/testvim /usr/local/tomcat/webapps/test/index.jsp<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP test1 page</title> #指定为 test1 页面
</head>
<body>
<% out.println("动态页面 1,http://www.test1.com");%>
</body>
</html>
# 3. Tomcat1 server配置,server文件
vim /usr/local/tomcat/conf/server.xml<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
<Context docBase="/usr/local/tomcat/webapps/test" path="" reloadable="true">
</Context>
</Host>
# 4. Tomcat2 server配置与Tomcat2 server配置一致
# 5. 测试是否能够正常访问
curl http://192.168.65.131
