Alibaba Cloud Linux 安装生产环境-Tomcat

在 Alibaba Cloud Linux 4 LTS 64位系统上安装 Tomcat 9,推荐采用手动部署方式,以便更好地控制安装细节。

以下是完整的操作指南:

📝 准备工作

第一步,安装 Java 环境 (JDK)

Tomcat 9 需要 Java 环境支持。Alibaba Cloud Linux 4 基于 RHEL/CentOS 生态,使用 yum 包管理器。

bash 复制代码
# 1. 更新系统软件包
sudo yum update -y

# 2. 安装 OpenJDK 11 (推荐用于 Tomcat 9)
sudo yum install -y java-11-openjdk-devel

# 3. 验证安装
java -version
配置阿里云安全组

在浏览器访问之前,必须确保阿里云 ECS 控制台的安全组规则已放行 8080 端口。

  • 进入 ECS 控制台 -> 实例 -> 安全组 -> 配置规则。
  • 添加入方向规则:端口范围 8080/8080,授权对象 0.0.0.0/0。

🚀 安装与配置 Tomcat 9

第二步,下载并解压 Tomcat

我们将直接下载 Apache Tomcat 9 的二进制包并解压到 /usr/local 目录。

bash 复制代码
# 1. 切换到 /tmp 目录进行下载
cd /tmp

# 2. 下载 Tomcat 9 (当前最新稳定版示例,版本号可能会随时间更新)
sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz --no-check-certificate

# 3. 移动到 /usr/local 并解压
sudo mv apache-tomcat-9.0.91.tar.gz /usr/local/
cd /usr/local/
sudo tar -zxvf apache-tomcat-9.0.91.tar.gz

# 4. 创建软链接,方便后续管理
sudo ln -s /usr/local/apache-tomcat-9.0.91 /usr/local/tomcat
第三步,配置系统服务 (systemd)

为了让 Tomcat 在后台运行、开机自启,我们需要配置 systemd 服务文件。由于不使用专用用户,服务将以 root 身份运行。

  1. 获取 JAVA_HOME 路径

    先执行以下命令找到 JDK 的安装路径:

    bash 复制代码
    sudo readlink -f $(which java)

    注意:输出结果通常是 /usr/lib/jvm/.../bin/java,你需要复制去掉末尾 /bin/java 的路径,例如 /usr/lib/jvm/java-11-openjdk-xxx。

  2. 创建服务文件

    创建 /etc/systemd/system/tomcat.service 文件:

    bash 复制代码
    sudo vi /etc/systemd/system/tomcat.service

    请将以下内容复制进去,务必修改 JAVA_HOME 为你上一步获取的实际路径:

    ini 复制代码
    [Unit]
    Description=Apache Tomcat Web Application Container
    After=network.target
    
    [Service]
    Type=forking
    # 直接使用 root 用户运行
    User=root
    Group=root
    
    # 请根据实际情况修改下面的 JAVA_HOME 路径
    Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.22.0.7-1.el7.x86_64"
    Environment="CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid"
    Environment="CATALINA_HOME=/usr/local/tomcat"
    Environment="CATALINA_BASE=/usr/local/tomcat"
    
    ExecStart=/usr/local/tomcat/bin/startup.sh
    ExecStop=/usr/local/tomcat/bin/shutdown.sh
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
第四步,启动服务

配置完成后,重新加载系统服务配置并启动 Tomcat。

bash 复制代码
# 1. 重新加载 systemd 配置
sudo systemctl daemon-reload

# 2. 启动 Tomcat
sudo systemctl start tomcat

# 3. 设置开机自启
sudo systemctl enable tomcat

# 4. 停止
sudo systemctl stop tomcat

# 5. 重启
sudo systemctl restart tomcat

✅ 验证安装

第五步,检查服务状态
bash 复制代码
sudo systemctl status tomcat

如果看到 Active: active (running),说明服务已正常启动。

第六步,浏览器访问

在浏览器地址栏输入:
http://<你的ECS公网IP>:8080

如果你能看到 Apache Tomcat 的欢迎页面(通常是一只猫的图标),说明安装成功。

🛠️ 常见问题排查

如果无法访问或启动失败,请检查以下两点:

  1. 查看日志

    查看 Catalina 日志以获取具体的错误信息:

    bash 复制代码
    tail -f /usr/local/tomcat/logs/catalina.out
  2. 检查防火墙 (Firewalld)

    如果阿里云安全组已配置但仍无法访问,可能是系统内部防火墙拦截。可以尝试开放端口或暂时关闭防火墙测试:

    bash 复制代码
    # 开放 8080 端口
    sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
    sudo firewall-cmd --reload
相关推荐
水饺编程10 小时前
第2章:Linux 基础,切换到超级用户
linux·c语言·汇编
便利店102411 小时前
系统活动一抓留存!深入 Linux C/C++ 调试工具之 sysdig
linux·运维·服务器·sysdig
qetfw11 小时前
Bash 变量:export、位置参数与默认值展开验证
linux·开发语言·chrome·bash
其实防守也摸鱼12 小时前
Cylab在线靶场——CTF中的通用技能
linux·数据库·学习·算法·靶场·ctf·学习网络安全
toooooop812 小时前
CentOS 7 内核 3.10.0-1160.119.1 升级指南
linux·运维·centos
码少女13 小时前
Linux——UDP协议和TCP协议
linux·网络·udp·tcp
GeW13 小时前
新质生产力发展路线图Linux、数据库、AI 一个都不能少
linux
kkkkkkkkkk_Z13 小时前
新手自学嵌入式 | 学习日记:Linux驱动复习之系统移植(U-Boot篇)
linux·运维·学习
Rabitebla13 小时前
【系统性学习笔记】Linux 权限篇(二):文件属性、权限修改与目录权限的底层逻辑
linux·c++·笔记·学习·算法
Lsetea15 小时前
curl下载HTTPS文件报23:证书验证成功与本地写入失败分层排查
linux·https·shell·ssl证书·curl