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系统可行吗?具体操作步骤有哪些?

    在移动硬盘上安装Linux系统是实现便携式开发、测试或系统体验的好方法,既能保留主系统稳定性,又能随时携带自己的工作环境,整个过程需要准备合适的硬件、选择合适的发行版,并注意分区和引导配置,以下是详细步骤:准备工作移动硬盘要求:建议使用USB 3.0及以上接口的移动硬盘(确保读写速度),容量至少32GB(推荐6……

    2025年10月1日
    9700
  • 手机连接Linux系统有哪些具体操作步骤与方法?

    手机与Linux系统的连接在日常使用中需求广泛,无论是文件传输、远程控制还是系统管理,掌握多种连接方式能极大提升效率,以下是几种主流连接方法的详细步骤及适用场景,帮助用户根据需求选择合适的方式,USB有线连接:最直接的文件传输方式USB连接是最基础且稳定的方式,适合需要频繁传输大文件或无需网络的环境,操作步骤如……

    2025年9月20日
    9400
  • 退出FTP命令行的4种方法是什么?

    在Linux系统中,FTP(文件传输协议)是用于在本地计算机和远程服务器之间传输文件的常用工具,用户通过命令行输入ftp后连接服务器进行操作,完成工作后需正确退出以释放资源并确保连接安全,以下是详细退出方法及注意事项:使用 quit 或 bye 命令在FTP命令行提示符 ftp> 后直接输入: ftp&g……

    2025年6月22日
    13000
  • 如何在Linux环境下编写C程序?

    在Linux环境下进行C程序开发是许多开发者和学习者的必备技能,其流程涉及环境搭建、代码编写、编译运行、调试及项目管理等环节,以下从基础到进阶详细说明具体步骤和注意事项,开发环境搭建在Linux中编写C程序,首先需要确保安装了必要的开发工具,通常包括编译器、调试器、构建工具及文本编辑器,编译器安装Linux中最……

    2025年10月3日
    8800
  • linux中如何写驱动

    Linux驱动开发是内核编程的核心内容,主要用于管理硬件设备,为上层应用提供统一的访问接口,驱动运行在内核态,直接操作硬件资源,因此需要严格遵循内核编程规范,确保稳定性和安全性,以下是Linux驱动的开发流程及关键要点,驱动开发基础概念Linux驱动主要分为字符设备、块设备、网络设备和杂项设备等,字符设备以字节……

    2025年10月6日
    10500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信