Tomcat的安装与配置

Tomcat安装与配置完整教程

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需要JDK而不仅仅是JRE,因为JSP编译需要JDK中的编译器。

下载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

提示: 避免使用包含空格的路径,如"Program Files"。

设置环境变量

右键"此电脑" → "属性" → "高级系统设置" → "环境变量"

新建系统变量:

  • 变量名: 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

打开命令提示符,运行:

# 切换到Tomcat的bin目录
cd C:\apache-tomcat-10.1.7\bin

# 启动Tomcat
startup.bat

验证安装

打开浏览器,访问:http://localhost:8080

如果看到Tomcat欢迎页面,说明安装成功。

Linux安装步骤

解压Tomcat

打开终端,执行以下命令:

# 切换到安装目录(例如/opt)
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

设置执行权限

# 切换到Tomcat的bin目录
cd /opt/tomcat/bin

# 给脚本添加执行权限
sudo chmod +x *.sh

启动Tomcat

# 启动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部分:

<!-- 将端口8080改为其他端口,例如8081 -->
<Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

配置用户权限

编辑conf/tomcat-users.xml,添加管理员用户:

<?xml version="1.0" encoding="UTF-8"?>
<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目录:

# Windows
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

如果看到应用首页,说明部署成功。

故障排除

常见问题及解决方案

Tomcat启动失败,提示"JAVA_HOME未设置"

解决方案: 检查JAVA_HOME环境变量是否正确设置,确保指向JDK安装目录而不是JRE。

端口8080已被占用

解决方案: - 修改Tomcat端口号(见配置部分)
- 或关闭占用8080端口的程序
- 使用命令查找占用端口的程序:netstat -ano | findstr :8080 (Windows) 或 lsof -i :8080 (Linux)

无法访问Manager应用

解决方案: - 检查tomcat-users.xml中的用户配置
- 确保用户具有manager-gui角色
- 检查IP地址限制(默认只允许本地访问)

应用部署失败

解决方案: - 检查WAR文件是否完整
- 查看Tomcat日志文件:logs/catalina.out
- 检查应用依赖是否满足

日志文件位置

  • catalina.out: 主要日志文件
  • localhost.log: 应用相关日志
  • manager.log: Manager应用日志
  • host-manager.log: Host Manager日志