Ubuntu还是CentOS?如何选择最佳操作系统版本?

Apache Tomcat 是一款开源的轻量级 Web 应用服务器,广泛用于部署 Java Servlet 和 JSP 项目,在 Linux 系统上部署 Tomcat 可提供稳定高效的运行环境,本文将详细讲解部署流程,涵盖环境准备、安装配置、安全优化及故障排查,确保您快速搭建生产级服务。

  • 硬件:至少 1GB 内存,2GB 磁盘空间。
  • 权限:使用 sudo 权限的账户。
  1. 安装 Java
    Tomcat 依赖 Java 环境,推荐安装 OpenJDK 11:

    sudo apt update && sudo apt install openjdk-11-jdk  # Ubuntu
    # CentOS: sudo yum install java-11-openjdk-devel
    java -version  # 验证安装,输出版本信息即成功

安装 Tomcat

  1. 下载 Tomcat
    访问 Apache Tomcat 官网(确保链接权威性),选择 Tomcat 10.x(稳定版),复制 Binary Distributions → Core 的 tar.gz 链接。

    wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.24/bin/apache-tomcat-10.1.24.tar.gz
  2. 解压与目录配置

    sudo tar -xzvf apache-tomcat-*.tar.gz -C /opt  # 解压到/opt目录
    sudo mv /opt/apache-tomcat-10.1.24 /opt/tomcat  # 重命名为tomcat
  3. 创建专用用户(安全必选)

    sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
    sudo chown -R tomcat: /opt/tomcat

配置与启动

  1. 设置环境变量
    编辑 ~/.bashrc 或 /etc/profile:

    export CATALINA_HOME=/opt/tomcat
    export PATH=$PATH:$CATALINA_HOME/bin

    生效配置:source ~/.bashrc

  2. 启动 Tomcat 并测试

    sudo -u tomcat $CATALINA_HOME/bin/startup.sh  # 以tomcat用户启动
    • 访问测试:浏览器输入 http://<服务器IP>:8080,出现 Tomcat 欢迎页即成功。
    • 停止服务:$CATALINA_HOME/bin/shutdown.sh

高级配置

  1. 设为系统服务(开机自启)
    创建服务文件 /etc/systemd/system/tomcat.service:

    [Unit]
    Description=Apache Tomcat
    After=network.target
    [Service]
    User=tomcat
    Group=tomcat
    Environment="CATALINA_HOME=/opt/tomcat"
    ExecStart=/opt/tomcat/bin/catalina.sh run
    ExecStop=/opt/tomcat/bin/shutdown.sh
    Restart=on-failure
    [Install]
    WantedBy=multi-user.target

    启用服务:

    sudo systemctl daemon-reload
    sudo systemctl start tomcat
    sudo systemctl enable tomcat
  2. 修改默认端口(可选)
    编辑 /opt/tomcat/conf/server.xml,找到 Connector port="8080",修改端口(如 8080 → 80)。

  3. 防火墙放行端口

    sudo ufw allow 8080/tcp  # Ubuntu
    # CentOS: sudo firewall-cmd --permanent --add-port=8080/tcp && firewall-cmd --reload

安全加固

  1. 管理后台安全

    • 删除默认用户:注释 /opt/tomcat/conf/tomcat-users.xml 中的示例账户。
    • 自定义强密码账户:
      <user username="admin" password="YourStrongPassword!" roles="manager-gui,admin-gui"/>
  2. 禁用未用功能
    删除 /opt/tomcat/webapps 下的默认应用(如 docs、examples),减少攻击面。

  3. 定期更新
    通过 Apache 官网 关注安全公告,及时升级版本。


常见问题解决

  • 端口冲突:
    使用 netstat -tuln | grep 8080 检查占用,修改 server.xml 中的端口。
  • 权限错误:
    确保 /opt/tomcat 所属用户为 tomcat,执行 sudo chmod -R u+x /opt/tomcat/bin。
  • 无法访问管理页面:
    检查 manager-gui 角色是否分配,或 IP 限制(配置 Context 的 allow 属性)。

通过上述步骤,您已在 Linux 上完成 Tomcat 的标准化部署与安全加固,建议结合 Nginx 反向代理提升性能,并定期备份 conf 和 webapps 目录,实践时请严格遵循官方文档,确保生产环境稳定性。

引用说明

  • Apache Tomcat 官方文档:https://tomcat.apache.org/tomcat-10.1-doc/
  • OpenJDK 安装指南:https://openjdk.org/install/
  • Linux 系统服务配置:https://www.freedesktop.org/software/systemd/man/systemd.service.html

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8613.html

赞 (0)
酷番叔酷番叔
上一篇 2025年7月25日 07:17
下一篇 2025年7月25日 07:34

相关推荐

  • Linux如何加载内核模块(.ko)?

    Linux内核模块(Kernel Object,后缀为.ko)是Linux系统中实现动态扩展内核功能的核心机制,允许在不重新编译内核的情况下添加驱动程序、文件系统支持或系统调用等功能,加载.ko模块是系统管理员和开发者常见的操作,其过程涉及模块编译、依赖管理、参数传递及内核交互等多个环节,以下将详细阐述Linu……

    2025年9月26日
    33400
  • Linux系统如何进入修复模式解决启动故障?

    Linux系统在使用过程中可能会因引导配置错误、文件系统损坏、密码遗忘等问题导致无法正常启动,此时进入修复模式是解决问题的关键,修复模式提供了命令行环境,允许用户诊断系统状态、修复损坏文件、重置配置或恢复数据,本文将详细介绍Linux进入修复模式的通用方法、主流发行版的差异操作以及修复模式内的常用命令,帮助用户……

    2025年8月27日
    47000
  • Linux系统中死循环进程如何正确终止?详细操作方法

    Linux系统中,死循环是指程序因逻辑错误或设计缺陷导致循环条件永远无法满足,从而无限执行循环体,常引发CPU占用率飙高、系统卡顿甚至服务不可用等问题,终止死循环需根据场景选择合适方法,以下从用户程序、系统进程、Shell脚本等角度详细说明,用户程序死循环终止用户程序(如C/C++、Python、Java等编写……

    2025年9月17日
    23500
  • 哪里下载Linux发行版ISO镜像?

    仅从官方网站下载(如Ubuntu、CentOS、Debian等),避免第三方修改的安全风险,验证ISO完整性:对比官网提供的SHA256校验码(例:sha256sum ubuntu-22.04.iso),工具推荐:Windows用HashCheck,Linux/macOS用终端命令,刻录启动光盘必需工具:空白D……

    2025年7月19日
    27200
  • 如何查看/etc/os-release文件?

    在Linux系统中,”SP3″(Service Pack 3)这一概念通常与Windows系统相关,Linux本身并不使用”Service Pack”的版本机制,但根据技术背景推测,您可能想确认以下两种情况之一:SUSE Linux Enterprise Server (SLES) 的Service Pack版……

    2025年7月31日
    25000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信