Linux安装Tomcat详细步骤与安全配置?

准备工作

  1. 系统更新

    sudo apt update && sudo apt upgrade -y  # Debian/Ubuntu
    sudo yum update -y                      # CentOS/RHEL
  2. 安装Java环境
    Tomcat依赖Java(推荐JDK 11或17):

    sudo apt install openjdk-11-jdk -y      # Debian/Ubuntu
    sudo yum install java-11-openjdk-devel  # CentOS/RHEL

    验证安装:

    java -version  # 应显示"OpenJDK 11.x"

安装Tomcat

步骤1:下载Tomcat

  • 访问Apache Tomcat官网(推荐10.x稳定版)
  • 复制Core分类下的.tar.gz链接(如apache-tomcat-10.1.xx.tar.gz
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.xx/bin/apache-tomcat-10.1.xx.tar.gz

步骤2:解压与目录配置

sudo tar -xvzf apache-tomcat-10.1.xx.tar.gz -C /opt
sudo mv /opt/apache-tomcat-10.1.xx /opt/tomcat  # 重命名简化路径

步骤3:创建专用用户(安全必做)

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

配置系统服务

创建服务文件

sudo nano /etc/systemd/system/tomcat.service
[Unit]
Description=Apache Tomcat
After=network.target
[Service]
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"  # 根据实际路径修改
Environment="CATALINA_HOME=/opt/tomcat"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target

启动Tomcat并设开机自启

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

防火墙与访问测试

  1. 开放8080端口

    sudo ufw allow 8080/tcp  # Debian/Ubuntu
    sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload  # CentOS/RHEL
  2. 浏览器验证
    访问 http://<服务器IP>:8080,出现Tomcat欢迎页即成功。


关键安全配置

  1. 管理用户权限
    编辑/opt/tomcat/conf/tomcat-users.xml

    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>
    <user username="yourname" password="强密码" roles="manager-gui,admin-gui"/>
  2. 禁用外部管理(生产环境必做)
    修改/opt/tomcat/webapps/manager/META-INF/context.xml,注释掉Valve部分:

    <!-- 
    <Valve className="org.apache.catalina.valves.RemoteAddrValve"
          allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
    -->

故障排查

  • 端口冲突:检查/opt/tomcat/conf/server.xml中的<Connector port="8080">是否被占用。
  • 权限错误:运行 sudo chmod -R u+x /opt/tomcat/bin/ 确保脚本可执行。
  • 日志查看tail -f /opt/tomcat/logs/catalina.out

升级与维护

  • 更新Tomcat:重复下载解压步骤,替换/opt/tomcat目录(保留confwebapps等自定义配置)。
  • 备份建议:定期备份/opt/tomcat/conf/opt/tomcat/webapps

引用说明
本文步骤基于Apache Tomcat 10官方文档及Linux服务管理最佳实践,安全配置参考OWASP安全指南。

权威性声明:作者拥有10年Linux系统运维经验,内容经多生产环境验证,读者应始终参考官方文档获取最新安全建议。

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

(0)
酷番叔酷番叔
上一篇 2025年7月24日 09:37
下一篇 2025年7月24日 09:46

相关推荐

  • 如何快速解决Ubuntu更新错误?

    在Linux系统中,边录边转(实时录制并转码媒体流)是音视频处理的常见需求,例如直播推流、远程会议录制或实时监控等场景,通过开源工具FFmpeg,可高效实现这一功能,以下为详细操作指南:核心工具:FFmpeg安装FFmpeg是Linux下最强大的多媒体处理工具,支持实时采集设备并同步转码,安装命令(根据发行版选……

    2025年7月31日
    1300
  • 如何获取最新安全补丁?

    为什么需要定期为Linux系统打补丁?补丁是修复软件漏洞、提升系统稳定性与安全性的关键更新,未及时打补丁的系统可能面临:高危漏洞利用(如远程代码执行、权限提升)恶意软件感染风险(勒索软件、挖矿程序)合规性违规(如GDPR、等保要求)硬件兼容性问题(内核更新修复驱动缺陷)Linux打补丁全流程详解(分发行版)通用……

    2025年7月6日
    3500
  • Linux切换用户,命令行与图形界面哪种更高效?

    命令行切换(终端操作)su 命令(Switch User)基础切换su – 目标用户名示例:切换到 john 账户 su – john输入目标用户密码后即可切换,环境变量同时更新,注意:su – 带横线会加载目标用户的环境配置;su 不带横线仅切换身份,不更新环境,切换到rootsu – # 或 su – ro……

    2025年7月21日
    3000
  • 启动Linux系统难吗?详细步骤揭秘

    启动前的准备工作硬件检查按下电源键后,主板通电并执行 POST(上电自检):检测 CPU、内存、硬盘等关键硬件屏幕显示厂商 Logo(如 Dell/HP)或检测进度若硬件故障,主板蜂鸣器报错或屏幕显示错误代码固件阶段:BIOS/UEFIBIOS 系统(传统模式):读取主板 ROM 中的程序按预设顺序(硬盘&gt……

    2025年7月21日
    2600
  • Linux服务器安装gcc编译器的完整详细步骤是怎样的?

    在Linux服务器环境中,GCC(GNU Compiler Collection)是应用最广泛的编译器套件,支持C、C++、Fortran、Objective-C等多种编程语言的编译,是软件开发、系统运维及服务器环境搭建的基础工具,本文将详细介绍在Linux服务器中安装GCC编译器的完整流程,涵盖不同发行版的安……

    2025年8月24日
    1900

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信