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)
酷番叔酷番叔
上一篇 3天前
下一篇 3天前

相关推荐

  • ARM Linux如何配置TFTP服务器?

    安装TFTP服务更新系统sudo apt update && sudo apt upgrade -y安装必要组件sudo apt install tftpd-hpa tftp-hpa -y # tftpd-hpa是服务端,tftp-hpa是客户端配置TFTP服务器创建共享目录并授权sudo mk……

    2025年7月6日
    1500
  • Linux进程唤醒如何提升系统性能?

    进程唤醒的核心原理当进程等待资源(如I/O操作、信号量或定时器)时,会进入休眠状态,Linux内核通过调度器唤醒休眠进程,使其进入就绪队列,关键休眠状态包括:TASK_INTERRUPTIBLE:可被信号或资源就绪唤醒(常用)TASK_UNINTERRUPTIBLE:仅被资源就绪唤醒(如磁盘I/O)TASK_K……

    2025年6月13日
    1800
  • 如何用冗余与负载均衡应对流量暴涨?

    冗余通过组件备份提升系统可用性,确保单点故障不影响服务;负载均衡将流量合理分配到多个资源,避免过载并优化性能,两者协同工作,共同实现系统的高可用性、可靠性与性能优化目标。

    2小时前
    200
  • Linux用U盘竟如此简单?

    插入U盘与自动挂载插入U盘将U盘插入USB接口,系统通常会自动识别并挂载,桌面环境(如GNOME、KDE)会弹出通知,并在文件管理器中显示U盘图标,访问U盘内容打开文件管理器(如Nautilus、Dolphin),在侧边栏的”设备”或”可移动设备”中找到U盘,点击即可访问文件,手动挂载U盘(适用于无桌面环境或自……

    2025年7月9日
    1700
  • 如何检查驱动所属的软件包?

    卸载前的关键准备确认驱动信息# 查看已加载的内核模块lsmod | grep -i "驱动关键词" # 如nvidia、rtl88xx# 查看模块详细信息modinfo 模块名 # 如modinfo nvidia记录模块名称(如nvidia、rtl8812au)备份重要数据驱动配置文件:/e……

    2025年7月20日
    800

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信