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

相关推荐

  • Linux中tty终端如何正确终止?

    在Linux系统中,tty(Teletype)是终端设备的抽象,用于实现用户与系统的交互,无论是物理终端(如直接连接服务器的串口)、虚拟终端(通过Ctrl+Alt+F1~F6切换的文本界面)还是伪终端(如SSH连接或xterm等终端模拟器),都可能因进程卡死、命令未响应或误操作需要终止,本文将详细说明Linux……

    2025年10月1日
    13600
  • Windows如何直接读写Linux分区?

    方法1:使用第三方软件(推荐:Ext2Fsd)原理:通过开源驱动为Windows添加Linux文件系统支持,步骤:下载安装:访问 Ext2Fsd官网 → 下载最新版(如 Ext2Fsd-0.69.exe),安装时勾选 “Ext2 Volume Manager” 和 “Support Ext3/Ext4″,挂载分……

    2025年7月9日
    16500
  • 如何在Linux中安全删除只读文件?

    为什么只读文件无法直接删除?Linux文件权限分为三类:读(r):允许查看文件内容写(w):允许修改或删除文件执行(x):允许运行文件只读文件的权限通常为 -r–r–r–(644),缺少“写”权限,用户需先获得写权限或使用管理员权限才能删除,删除只读文件的4种方法方法1:添加写权限后删除(推荐)通过 ch……

    2025年7月21日
    18900
  • 选A还是B更明智?

    在Linux系统中,crond是cron守护进程的核心组件,负责按计划执行定时任务(如备份、清理、脚本运行等),确保crond正常运行对系统自动化至关重要,以下是多种查看crond状态的方法,适用于主流Linux发行版(如CentOS、Ubuntu、Debian):检查crond服务状态(推荐)通过系统服务管理……

    2025年6月24日
    15700
  • linux如何锁屏时间设置时间设置时间

    在Linux操作系统中,锁屏时间设置是保障系统安全与用户隐私的重要手段,尤其在使用公共电脑或离开工位时,合理的锁屏时间能有效防止未授权访问,Linux系统下锁屏时间的设置方式因桌面环境(如GNOME、KDE Plasma、XFCE等)和发行版的不同而有所差异,同时也可通过命令行工具实现精细化配置,本文将详细介绍……

    2025年9月20日
    14400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信