温馨提示×

Linux环境下Tomcat如何配置

小樊
31
2025-12-30 13:53:11
栏目: 智能运维

Linux环境下 Tomcat 配置全流程

一 准备与安装

  • 安装 Java(Tomcat 依赖 JRE/JDK):例如在 Ubuntu/Debian 上执行:sudo apt update && sudo apt install openjdk-11-jdk;安装后用 java -version 验证。
  • 下载并解压 Tomcat(以 Tomcat 9 为例):
    • 下载:wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
    • 解压:tar -xvzf apache-tomcat-9.0.56.tar.gz -C /opt/
  • 建议将解压目录重命名为易记路径:mv /opt/apache-tomcat-9.0.56 /opt/tomcat

二 环境变量与服务管理

  • 配置环境变量(任选其一,确保生效):
    • 全局环境:echo 'CATALINA_HOME=/opt/tomcat' | sudo tee -a /etc/environment && source /etc/environment
    • 当前用户:echo 'export CATALINA_HOME=/opt/tomcat' >> ~/.bashrc && source ~/.bashrc
  • 启动与停止:
    • 进入目录:cd $CATALINA_HOME/bin
    • 启动:./startup.sh./catalina.sh start
    • 停止:./shutdown.sh./catalina.sh stop
  • 以系统服务方式管理(SysVinit 示例,便于 service tomcat start|stop|restart):
    • 新建脚本:sudo vim /etc/init.d/tomcat,内容示例:
      #!/bin/bash
      # description: Tomcat Start Stop Restart
      # processname: tomcat
      # chkconfig: 234 20 80
      CATALINA_HOME=/opt/tomcat
      case $1 in
        start) $CATALINA_HOME/bin/startup.sh ;;
        stop)  $CATALINA_HOME/bin/shutdown.sh ;;
        restart) $CATALINA_HOME/bin/shutdown.sh; sleep 2; $CATALINA_HOME/bin/startup.sh ;;
        *) echo "Usage: $0 {start|stop|restart}"; exit 1 ;;
      esac
      exit 0
      
    • 赋权并注册:sudo chmod +x /etc/init.d/tomcat && sudo chkconfig --add tomcat && sudo chkconfig tomcat on

三 端口与防火墙

  • 修改访问端口:编辑 $CATALINA_HOME/conf/server.xml,找到 <Connector port="8080" ... />,将 8080 改为需要的端口(如 80 以直接通过 HTTP 访问)。
  • 放行防火墙端口(按系统选择其一):
    • UFW(Ubuntu/Debian):sudo ufw allow 8080/tcp
    • firewalld(CentOS/RHEL 7+):sudo firewall-cmd --permanent --add-port=8080/tcp && sudo firewall-cmd --reload
    • iptables(旧版 CentOS 6 等):sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT && sudo service iptables save && sudo service iptables restart
  • 访问测试:浏览器打开 http://服务器IP:端口,出现 Tomcat 欢迎页即成功。

四 部署 Web 应用

  • 自动部署:将 WAR 包放入 $CATALINA_HOME/webapps/,Tomcat 会自动解压部署,访问路径通常为 http://IP:端口/应用名
  • 管理控制台部署:配置 $CATALINA_HOME/conf/tomcat-users.xml 添加管理用户(请使用强密码):
    <role rolename="manager-gui"/>
    <role rolename="admin-gui"/>
    <user username="admin" password="StrongPass!23" roles="manager-gui,admin-gui"/>
    
    重启后在 http://IP:端口/manager/html 登录并使用 Manager App 部署/管理应用。

五 常见问题与优化

  • 端口占用:检查并释放端口(示例):ss -tulpen | grep 8080lsof -i:8080;必要时 kill 占用进程后重启 Tomcat。
  • 目录权限:确保运行用户对 $CATALINA_HOME 有读写权限,例如:sudo chown -R tomcat:tomcat $CATALINA_HOME(创建专用用户更佳)。
  • JVM 与内存:在 $CATALINA_HOME/bin/catalina.sh(或 setenv.sh)中设置 JAVA_OPTS,如:
    JAVA_OPTS="-Xms512m -Xmx1024m -XX:+UseG1GC"(按服务器内存与应用负载调整)。
  • 日志与诊断:查看 catalina.outlogs/ 下各类日志定位启动失败、内存溢出等问题:tail -f $CATALINA_HOME/logs/catalina.out
  • 安全建议:
    • 仅开放必要端口,避免使用默认管理账号与弱口令;
    • 生产环境建议将 HTTP 连接器改为 Nginx/Apache 反向代理,启用 HTTPS/TLS
    • 及时更新 JDKTomcat 版本,修补安全漏洞。

0