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
相关推荐
爱吃生蚝的于勒1 小时前
【Linux】网络之http协议
linux·运维·服务器·网络·数据结构·c++·http
fakerth1 小时前
【Linux】调度器底层原理深入探索
linux·c++·操作系统
历程里程碑2 小时前
44. TCP -23Linux聊天室实现命令符功能
java·linux·开发语言·数据结构·c++·排序算法·tcp
守护安静星空2 小时前
ubuntu vscode 调试 at32f435vmt7
linux·vscode·ubuntu
集智飞行2 小时前
禁用Ubuntu网卡的电源管理(Power Management)
linux·运维·ubuntu
u0133945272 小时前
How to Run sample.war in a Tomcat Docker Container
java·docker·tomcat
Irissgwe2 小时前
Linux进程信号
linux·服务器·开发语言·c++·linux进程信号
水木兰亭2 小时前
多进程编程总结
linux·运维·服务器
梦想是造卫星2 小时前
如何从零开始构建一个ros开发项目?
linux·ros开发