Tomcat安装与配置教程
从零开始学习Apache Tomcat的安装、配置和部署,包含Windows和Linux环境
Tomcat简介
Apache Tomcat是一个开源的Java Servlet容器,实现了Java Servlet、JavaServer Pages (JSP)、Java Expression Language和Java WebSocket技术。Tomcat提供了一个"纯Java"的HTTP Web服务器环境,用于运行Java代码。
主要特性
- 轻量级、高性能的Servlet容器
- 完全开源且免费
- 跨平台支持(Windows、Linux、macOS)
- 与Apache HTTP Server集成能力强
- 支持最新的Servlet和JSP规范
- 强大的管理界面
环境准备
系统要求
- Java Development Kit (JDK) 8或更高版本
- 至少512MB可用内存(推荐1GB以上)
- 至少100MB可用磁盘空间
- Windows、Linux或macOS操作系统
检查Java安装
在安装Tomcat之前,请确保已正确安装JDK:
java -version
javac -version
下载Tomcat
访问Apache Tomcat官方网站下载最新版本:
下载Tomcat 10 下载Tomcat 9 下载Tomcat 8- Tomcat 10: 支持Servlet 5.0, JSP 3.0, EL 4.0(最新)
- Tomcat 9: 支持Servlet 4.0, JSP 2.3, EL 3.0(稳定版)
- Tomcat 8: 支持Servlet 3.1, JSP 2.3, EL 3.0(维护版)
下载说明
根据您的操作系统选择相应的下载包:
- Windows: 下载.zip压缩包
- Linux/macOS: 下载.tar.gz压缩包
- 安装版: 32-bit/64-bit Windows Service Installer
Windows安装步骤
解压Tomcat
将下载的ZIP文件解压到您选择的目录,例如:C:\apache-tomcat-10.1.7
设置环境变量
右键"此电脑" → "属性" → "高级系统设置" → "环境变量"
新建系统变量:
- 变量名: CATALINA_HOME
- 变量值: C:\apache-tomcat-10.1.7(您的Tomcat安装路径)
编辑Path变量,添加:%CATALINA_HOME%\bin
配置Java路径
如果Tomcat无法自动找到Java,需要设置JAVA_HOME环境变量:
- 变量名: JAVA_HOME
- 变量值: C:\Program Files\Java\jdk1.8.0_291(您的JDK安装路径)
启动Tomcat
打开命令提示符,运行:
cd C:\apache-tomcat-10.1.7\bin
# 启动Tomcat
startup.bat
Linux安装步骤
解压Tomcat
打开终端,执行以下命令:
cd /opt
# 解压Tomcat
sudo tar -xzf apache-tomcat-10.1.7.tar.gz
# 重命名目录(可选)
sudo mv apache-tomcat-10.1.7 tomcat
设置环境变量
编辑~/.bashrc或~/.profile文件:
nano ~/.bashrc
# 添加以下内容
export CATALINA_HOME=/opt/tomcat
export PATH=$PATH:$CATALINA_HOME/bin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
使配置生效:source ~/.bashrc
设置执行权限
cd /opt/tomcat/bin
# 给脚本添加执行权限
sudo chmod +x *.sh
启动Tomcat
./startup.sh
# 查看启动日志
tail -f $CATALINA_HOME/logs/catalina.out
验证安装
打开浏览器,访问:http://localhost:8080
基本配置
主要配置文件
| 文件 | 描述 | 位置 |
|---|---|---|
| server.xml | 主配置文件,包含服务、连接器、主机等配置 | conf/server.xml |
| web.xml | Web应用程序部署描述符 | conf/web.xml |
| context.xml | 上下文配置 | conf/context.xml |
| tomcat-users.xml | 用户、角色和权限配置 | conf/tomcat-users.xml |
修改端口号
编辑conf/server.xml文件,找到Connector部分:
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
配置用户权限
编辑conf/tomcat-users.xml,添加管理员用户:
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<!-- 添加用户 -->
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>
应用部署
部署方法
方法1:复制WAR文件
将WAR文件复制到Tomcat的webapps目录:
copy myapp.war %CATALINA_HOME%\webapps\
# Linux
cp myapp.war $CATALINA_HOME/webapps/
Tomcat会自动解压WAR文件并部署应用。
方法2:使用Manager应用
访问 http://localhost:8080/manager/html,使用配置的用户名和密码登录,然后上传WAR文件。
方法3:手动部署目录
在webapps目录下创建应用目录:
webapps/
└── myapp/
├── WEB-INF/
│ ├── web.xml
│ └── classes/
│ └── (编译的Java类)
├── index.jsp
└── (其他静态资源)
验证部署
访问应用URL:http://localhost:8080/myapp
如果看到应用首页,说明部署成功。
故障排除
常见问题及解决方案
解决方案: 检查JAVA_HOME环境变量是否正确设置,确保指向JDK安装目录而不是JRE。
解决方案:
- 修改Tomcat端口号(见配置部分)
- 或关闭占用8080端口的程序
- 使用命令查找占用端口的程序:netstat -ano | findstr :8080 (Windows) 或 lsof -i :8080 (Linux)
解决方案:
- 检查tomcat-users.xml中的用户配置
- 确保用户具有manager-gui角色
- 检查IP地址限制(默认只允许本地访问)
解决方案:
- 检查WAR文件是否完整
- 查看Tomcat日志文件:logs/catalina.out
- 检查应用依赖是否满足
日志文件位置
- catalina.out: 主要日志文件
- localhost.log: 应用相关日志
- manager.log: Manager应用日志
- host-manager.log: Host Manager日志