Tomcat 配置与使用指南
1. Tomcat 简介
Tomcat 是一个免费、开源的 Web 应用服务器,属于轻量级应用服务器。在中小型系统和并发访问用户不多的场景下被广泛使用,是开发和调试 JSP 程序的首选。当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
1.1 基本概念
- Tomcat 是一个免费的、开源的 Servlet 容器,用于运行 Java 程序
- 是开发和调试 Servlet (Server Applet)、JSP(Java Server Pages)程序的首选平台
- Tomcat 是常见的中间件之一,专门用于运行 Java 程序
- Java 语言开发的网页(.jsp)需要运行在 Tomcat 中
- Tomcat 本身的运行依赖于 JDK 环境
1.2 常见中间件对比
使用场景 | 推荐中间件 |
---|---|
本地开发、小项目、个人开发 | Tomcat |
Linux 系统 | Jetty 或 Apache HTTPD |
大型项目 | JBOSS 或 WebLogic |
商业项目 | WebLogic/WebSphere(其他:JBoss、GlassFish) |
示例项目或小项目 | Jetty |
一般项目 | Tomcat |
2. Tomcat 部署
2.1 环境准备
bash
# 关闭防火墙和 SELinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
2.2 安装 Java 环境
bash
yum -y install java-11-openjdk
2.3 安装 Tomcat
bash
# 解压 Tomcat 到 /usr/local/ 目录
tar -xzf apache-tomcat-10.0.23.tar.gz -C /usr/local/
cd /usr/local/
# 创建软链接
ln -s apache-tomcat-10.0.23/ tomcat
2.4 创建测试页面
bash
# 创建测试目录
mkdir -p /usr/local/tomcat/webapps/test
cd /usr/local/tomcat/webapps/test
# 创建测试页面
cat > index.jsp << 'EOF'
<html>
<head>
<title>Test Page</title>
</head>
<body>
<%
out.println("Hello World");
%>
</body>
</html>
EOF
2.5 启动 Tomcat
bash
cd /usr/local/tomcat
bin/startup.sh
# 默认端口为8080
# 检查进程,可以查看到有java和tomcat的进程,说明服务已经启动成功
ps -ef | grep tomcat
2.6 访问测试
- Tomcat 首页:
http://192.168.100.10:8080
- Hello World 测试页:
http://192.168.100.10:8080/test/
3. Tomcat 管理界面配置
3.1 Host Manager 配置
配置用户权限
bash
vim /usr/local/tomcat/conf/tomcat-users.xml
在 </tomcat-users>
前添加:
设置角色,登录用户名和密码,角色名称只能是admin-gui 用户名和密码自定义
xml
<role rolename="admin-gui"/>
<user username="tomcat" password="123456" roles="admin-gui"/>
</tomcat-users>
配置访问权限
bash
vim /usr/local/tomcat/webapps/host-manager/META-INF/context.xml
修改 allow 字段:
允许192.168.100.0/24网段访问,在allow字段后添加
xaml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.100\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
重启服务,先关服务,再启服务
bash
/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start
3.2 Server Status 和 Manager App 配置
配置用户权限
登录网页测试登录Host Manager 输入对应的用户名和密码
用户名为tomcat,密码为123456
bash
vim /usr/local/tomcat/conf/tomcat-users.xml
在 </tomcat-users>
前添加:
xaml
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="123456" roles="admin-gui,manager-gui"/>
</tomcat-users>
配置访问权限
编辑manager/META-INF/context.xml,在allow字段添加允许192.168.100.0/24网段访问
bash
vim /usr/local/tomcat/webapps/manager/META-INF/context.xml
修改 allow 字段:
xml
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="192\.168\.100\.\d+|127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
重启服务,先关服务,再启服务
bash
/usr/local/tomcat/bin/catalina.sh stop
/usr/local/tomcat/bin/catalina.sh start
3.3 访问管理界面
访问Manager App的时候就不需要密码了,因为访问了Server Status界面,所以不用输入密码
- Host Manager :
http://192.168.100.10:8080/host-manager
- Server Status :
http://192.168.100.10:8080/manager/status
- Manager App :
http://192.168.100.10:8080/manager/html
登录用户名:tomcat
,密码:123456
4. Spring AI 服务部署
4.1 安装 JDK 17
bash
# 将jdk-17.0.15_linux-x64_bin.tar.gz拖入
# 解压 JDK
tar -xzf jdk-17.0.15_linux-x64_bin.tar.gz -C /usr/local/
cd /usr/local/
cd jdk-17.0.15/
# 配置环境变量
cat >> /etc/profile << 'EOF'
export JAVA_HOME=/usr/local/jdk-17.0.15
export PATH=$JAVA_HOME/bin:$PATH
EOF
# 生效环境变量
source /etc/profile
# 验证安装
java -version
4.2 部署 Spring AI 应用
bash
# 后台运行 Spring AI 应用
nohup java -jar Spring_AI_Demo-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
# 查看日志
tail -f app.log