Tomcat 配置与使用指南

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

相关推荐
程序员阿鹏1 分钟前
怎么理解削峰填谷?
java·开发语言·数据结构·spring·zookeeper·rabbitmq·rab
代码的奴隶(艾伦·耶格尔)7 分钟前
Sentinel限流熔断
java·前端·sentinel
小徐Chao努力15 分钟前
【Langchain4j-Java AI开发】02-模型参数配置与调优
java·开发语言·人工智能
啥都不懂的小小白16 分钟前
CyclicBarrier深度解析:Java中的“循环栅栏“同步工具
java·juc·cyclicbarrier
毕设源码-朱学姐27 分钟前
【开题答辩全过程】以 基于uni—app的民宿预订系统为例,包含答辩的问题和答案
java·eclipse
bjxiaxueliang27 分钟前
一文详解Cpp多线程编程:从传统pthread到现代thread实践指南
java·开发语言·jvm
机智的人猿泰山28 分钟前
spring boot 运行测试类时:Error creating bean with name ‘serverEndpointExporter‘ 问题
java·spring boot·后端
爬山算法31 分钟前
Hibernate(3)Hibernate的优点是什么?
java·后端·hibernate
秋邱41 分钟前
Java面向对象进阶实战:用工厂模式+策略模式优化支付系统
java·bash·策略模式
heartbeat..1 小时前
网络通信核心知识全解析:模型、协议与 TCP 机制
java·网络·网络协议·tcp/ip