CentOS 安装并运行 Tomcat 的完整指南

在 CentOS 系统中安装和运行 Apache Tomcat 是部署 Java Web 应用的常见需求。本文将详细介绍如何在 CentOS 上安装 Tomcat、运行 Tomcat 服务,并配置多个 Tomcat 实例以实现负载均衡。


1. 安装 Tomcat

1.1 下载 Tomcat

首先,访问 Tomcat 官网 下载所需的 Tomcat 版本。以下是 Tomcat 8 和 Tomcat 9 的下载链接:

# Tomcat 8.5.76
wget https://mirrors.cnnic.cn/apache/tomcat/tomcat-8/v8.5.76/bin/apache-tomcat-8.5.76.tar.gz

# Tomcat 9.0.83
wget https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz

1.2 解压 Tomcat

下载完成后,使用以下命令解压 Tomcat 安装包:

# 解压 Tomcat 8
tar -zxvf apache-tomcat-8.5.76.tar.gz

# 解压 Tomcat 9
tar -zxvf apache-tomcat-9.0.83.tar.gz

解压后,Tomcat 的文件将存储在解压目录中。

1.3 启动 Tomcat

进入 Tomcat 的 bin 目录并启动 Tomcat:

cd /path/to/apache-tomcat-8.5.76/bin
./startup.sh

1.4 测试 Tomcat 是否运行成功

使用 curl 命令测试 Tomcat 是否成功启动:

curl 127.0.0.1:8080

如果返回以下 HTML 内容,说明 Tomcat 已成功运行:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <title>Apache Tomcat/8.5.76</title>
        <link href="favicon.ico" rel="icon" type="image/x-icon" />
        <link href="tomcat.css" rel="stylesheet" type="text/css" />
    </head>
</html>

2. 同时运行多个 Tomcat 实例

在某些场景下,可能需要在一台服务器上运行多个 Tomcat 实例,例如实现负载均衡。以下是配置多个 Tomcat 实例的详细步骤。

2.1 配置环境变量

编辑 /etc/profile 文件,为每个 Tomcat 实例配置独立的环境变量:

vim /etc/profile

在文件末尾添加以下内容:

# Tomcat 1 配置
export CATALINA_HOME=/home/tomcat/apache-tomcat-8.5.76
export CATALINA_BASE=/home/tomcat/apache-tomcat-8.5.76
export TOMCAT_HOME=/home/tomcat/apache-tomcat-8.5.76

# Tomcat 2 配置
export CATALINA_HOME2=/home/tomcat2/apache-tomcat-8.5.77
export CATALINA_BASE2=/home/tomcat2/apache-tomcat-8.5.77
export TOMCAT_HOME2=/home/tomcat2/apache-tomcat-8.5.77

保存并退出后,加载环境变量:

source /etc/profile

2.2 修改 Tomcat 2 的 server.xml 文件

为了避免端口冲突,需要修改第二个 Tomcat 实例的端口配置。编辑 /home/tomcat2/apache-tomcat-8.5.77/conf/server.xml 文件:

<!-- 修改 Server 端口 -->
<Server port="8006" shutdown="SHUTDOWN">  <!-- 默认 8005 改为 8006 -->

<!-- 修改 HTTP 连接端口 -->
<Connector port="8081" protocol="HTTP/1.1"  <!-- 默认 8080 改为 8081 -->
           connectionTimeout="20000"
           redirectPort="8443" />

<!-- 修改 AJP 连接端口 -->
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />  <!-- 默认 8009 改为 8010 -->

2.3 修改 Tomcat 2 的启动脚本

编辑 /home/tomcat2/apache-tomcat-8.5.77/bin/startup.shshutdown.sh 文件,添加以下内容:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=$JAVA_HOME/bin
export CATALINA_HOME=$CATALINA_HOME2
export CATALINA_BASE=$CATALINA_BASE2

2.4 修改 catalina.sh 文件

编辑 /home/tomcat2/apache-tomcat-8.5.77/bin/catalina.sh 文件,添加以下内容:

export CATALINA_BASE=$CATALINA_BASE2
export CATALINA_HOME=$CATALINA_HOME2
export TOMCAT_HOME=$TOMCAT_HOME2

2.5 启动并测试多个 Tomcat 实例

分别启动两个 Tomcat 实例:

# 启动 Tomcat 1
/home/tomcat/apache-tomcat-8.5.76/bin/startup.sh

# 启动 Tomcat 2
/home/tomcat2/apache-tomcat-8.5.77/bin/startup.sh

在浏览器中访问以下地址,测试两个 Tomcat 实例是否正常运行:

  • Tomcat 1: http://<服务器IP>:8080
  • Tomcat 2: http://<服务器IP>:8081

如果两个页面都能正常显示,说明配置成功。


3. 总结

通过本文的步骤,您可以在 CentOS 系统上成功安装并运行 Tomcat,同时配置多个 Tomcat 实例以满足负载均衡的需求。以下是关键点总结:

  1. 下载并解压 Tomcat:从官网或镜像站点获取 Tomcat 安装包。
  2. 配置环境变量:为每个 Tomcat 实例设置独立的环境变量。
  3. 修改端口配置:避免多个 Tomcat 实例的端口冲突。
  4. 启动并测试:确保每个 Tomcat 实例都能正常运行。

通过以上配置,您可以轻松管理多个 Tomcat 实例,为 Java Web 应用提供高可用性和负载均衡支持。