HCRM博客

在CentOS 7系统上一键安装Tomcat

CentOS 7 安装 Tomcat 全流程详解

在 CentOS 7 服务器上部署 Java Web 应用,Tomcat 是广受欢迎的高性能选择,遵循标准流程进行安装配置,能确保服务稳定可靠运行,以下为详细操作指南:

安装必备环境:Java JDK

在CentOS 7系统上一键安装Tomcat-图1

Tomcat 运行依赖 Java 环境,推荐安装 OpenJDK:

# 更新系统包
sudo yum update -y
# 搜索可用的 OpenJDK 11 包 (推荐稳定版本)
sudo yum search openjdk
# 安装 OpenJDK 11 开发包
sudo yum install -y java-11-openjdk-devel

验证 Java 安装是否成功:

java -version
# 应输出类似:openjdk version "11.0.xx" ...

创建专用系统用户 (增强安全性)

为 Tomcat 创建独立用户,避免使用 root 运行:

sudo groupadd tomcat
sudo useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat
# 参数说明:-M 不创建家目录,-s 禁止登录,-g 指定组,-d 指定主目录

下载并安装 Tomcat

  1. 访问官网获取最新稳定版: 前往 Apache Tomcat 官方网站 (https://tomcat.apache.org),在 "Download" 区域找到 Tomcat 9 或 10 的核心版本 (Binary Distributions -> Core) 的 tar.gz 包链接。

    在CentOS 7系统上一键安装Tomcat-图2
  2. 使用 wget 下载到服务器:

    # 进入临时目录,替换链接为实际获取的地址
    cd /tmp
    sudo wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.xx/bin/apache-tomcat-9.0.xx.tar.gz
  3. 解压并移动到安装目录:

    # 解压
    sudo tar -xvzf apache-tomcat-9.0.xx.tar.gz
    # 创建目标目录
    sudo mkdir -p /opt/tomcat
    # 移动并重命名
    sudo mv apache-tomcat-9.0.xx /opt/tomcat/latest
  4. 设置权限归属:

    sudo chown -R tomcat:tomcat /opt/tomcat/latest
    sudo chmod -R u+x /opt/tomcat/latest/bin
    # 确保 bin 目录下的脚本有执行权限

配置环境变量 (推荐)

编辑 Tomcat 用户的配置文件,设置 CATALINA_HOME

sudo vi /opt/tomcat/latest/bin/setenv.sh
```(如文件不存在则创建):
```bash
#!/bin/bash
export CATALINA_HOME="/opt/tomcat/latest"
export CATALINA_PID="$CATALINA_HOME/tomcat.pid"
# 可添加其他自定义 JAVA_OPTS 参数

赋予执行权限:

在CentOS 7系统上一键安装Tomcat-图3
sudo chmod +x /opt/tomcat/latest/bin/setenv.sh
sudo chown tomcat:tomcat /opt/tomcat/latest/bin/setenv.sh

配置 Systemd 服务 (实现开机自启与管理)

  1. 创建服务单元文件:

    sudo vi /etc/systemd/system/tomcat.service
  2. 输入以下配置内容:

    [Unit]
    Description=Apache Tomcat Web Application Container
    After=syslog.target network.target
    [Service]
    Type=forking
    EnvironmentFile=/opt/tomcat/latest/bin/setenv.sh
    User=tomcat
    Group=tomcat
    PIDFile=/opt/tomcat/latest/tomcat.pid
    ExecStart=/opt/tomcat/latest/bin/startup.sh
    ExecStop=/opt/tomcat/latest/bin/shutdown.sh
    Restart=on-failure
    RestartSec=10
    [Install]
    WantedBy=multi-user.target
  3. 重载 systemd 并启动 Tomcat:

    sudo systemctl daemon-reload
    sudo systemctl start tomcat
    sudo systemctl enable tomcat # 设置开机启动
  4. 检查服务状态:

    sudo systemctl status tomcat
    # 应显示 "active (running)"

配置防火墙放行端口

默认情况下,Tomcat 监听 8080 端口:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

验证安装与访问管理界面

  1. 访问默认主页: 在浏览器中输入:http://<你的服务器IP地址>:8080,应看到 Apache Tomcat 欢迎页面。

  2. 访问管理界面 (可选但需谨慎配置):

    • 编辑配置文件启用管理用户:
      sudo vi /opt/tomcat/latest/conf/tomcat-users.xml
    • <tomcat-users> 标签内添加角色和用户 (替换 your_usernameyour_password):
      <role rolename="manager-gui"/>
      <role rolename="admin-gui"/>
      <user username="your_username" password="your_strong_password" roles="manager-gui,admin-gui"/>
    • 默认出于安全,Manager 和 Host Manager 应用仅允许本地访问,如需远程管理 (生产环境慎用),需修改:
      sudo vi /opt/tomcat/latest/webapps/manager/META-INF/context.xml
      sudo vi /opt/tomcat/latest/webapps/host-manager/META-INF/context.xml

      注释掉或修改 Valve 部分的 allow 属性,例如允许特定IP或所有IP (allow="^.*$" 不推荐)。

    • 重启 Tomcat 生效:
      sudo systemctl restart tomcat
    • 访问 http://<IP>:8080/manager/htmlhttp://<IP>:8080/host-manager/html 并使用配置的用户名密码登录。

关键安全实践建议

  • 禁用未使用组件: 生产环境移除 docs, examples 等目录 (/opt/tomcat/latest/webapps/)。
  • 强化管理密码:tomcat-users.xml 中的用户设置复杂且唯一的密码。
  • 最小化访问权限: 严格控制 Manager 和 Host Manager 的远程访问权限,最好通过 VPN 或 SSH 隧道访问。
  • 保持更新: 定期关注 Tomcat 和 JDK 的安全公告,及时更新至稳定版本。
  • 考虑反向代理: 使用 Nginx 或 Apache HTTPD 作为前端反向代理,处理 SSL 卸载、静态文件、负载均衡等,同时隐藏 Tomcat 版本信息。

遇到问题怎么办?

  • 检查日志: 首要查看 Tomcat 日志文件 /opt/tomcat/latest/logs/catalina.out
  • 验证端口: 使用 sudo netstat -tulnp | grep javasudo ss -tulnp | grep java 确认 Tomcat 是否在监听 8080 端口。
  • 检查权限: 确保 /opt/tomcat/latest 及其子目录的所有者为 tomcat:tomcat 且关键脚本有执行权限。
  • 检查服务状态:sudo systemctl status tomcat -l 查看详细状态和可能的错误信息。
  • 确认防火墙:sudo firewall-cmd --list-all 检查 8080/tcp 端口是否在放行列表中。

在 CentOS 7 上部署 Tomcat 是 Java 应用上线的关键一步,严格按照标准流程操作并贯彻安全配置原则,能为后续应用稳定运行打下坚实基础,经验表明,前期细致的配置远胜于问题发生后的紧急排查,尤其在权限控制与网络访问策略上,多花十分钟思考限制,往往能避免数小时的故障处理时间。

本站部分图片及内容来源网络,版权归原作者所有,转载目的为传递知识,不代表本站立场。若侵权或违规联系Email:zjx77377423@163.com 核实后第一时间删除。 转载请注明出处:https://blog.huochengrm.cn/pc/34792.html

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
请登录后评论...
游客游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~