温馨提示×

Debian下Tomcat部署Web应用步骤

小樊
59
2025-10-03 05:12:27
栏目: 智能运维

Debian下Tomcat部署Web应用完整步骤

1. 更新系统软件包

首先确保系统软件包为最新版本,避免兼容性问题:

sudo apt update && sudo apt upgrade -y

2. 安装Java开发工具包(JDK)

Tomcat依赖Java环境,需安装JDK(推荐OpenJDK 11及以上):

sudo apt install openjdk-11-jdk -y

验证Java安装是否成功:

java -version

输出应显示Java版本信息(如openjdk version "11.0.xx")。

3. 下载并安装Tomcat

从Apache Tomcat官方网站下载最新稳定版(以Tomcat 9为例),解压至/opt目录(系统级软件推荐安装路径):

wget https://downloads.apache.org/tomcat/tomcat-9/v9.0.56/bin/apache-tomcat-9.0.56.tar.gz
sudo tar xvf apache-tomcat-9.0.56.tar.gz -C /opt
sudo mv /opt/apache-tomcat-9.0.56 /opt/tomcat  # 重命名目录便于管理

4. 配置Tomcat用户权限

为安全起见,禁止以root用户运行Tomcat,需创建专用用户和组:

sudo groupadd tomcat      # 创建tomcat组
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat  # 创建tomcat用户(无登录权限)

设置Tomcat目录权限,确保tomcat用户拥有读写权限:

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R 755 /opt/tomcat/conf /opt/tomcat/logs /opt/tomcat/temp /opt/tomcat/webapps

5. 配置Tomcat环境变量

编辑setenv.sh文件(若不存在则创建),设置JAVA_HOMECATALINA_HOME环境变量(避免每次启动都手动指定):

sudo nano /opt/tomcat/bin/setenv.sh

添加以下内容(根据实际JDK路径调整JAVA_HOME):

export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export CATALINA_HOME=/opt/tomcat
export CATALINA_BASE=/opt/tomcat

保存后赋予执行权限:

sudo chmod +x /opt/tomcat/bin/setenv.sh

6. 创建Systemd服务管理Tomcat

通过Systemd实现Tomcat的开机自启进程管理

sudo nano /etc/systemd/system/tomcat.service

添加以下配置(关键参数说明:User/tomcat以专用用户运行,Restart=always崩溃后自动重启):

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_BASE=/opt/tomcat"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target

保存后重新加载Systemd配置并启动Tomcat:

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat  # 设置开机自启

验证Tomcat运行状态:

sudo systemctl status tomcat

若显示“active (running)”,则表示启动成功。

7. 配置防火墙允许访问

若系统启用了ufw防火墙,需开放Tomcat默认端口(8080):

sudo ufw allow 8080/tcp
sudo ufw enable  # 若未启用防火墙,可跳过此步

8. 部署Web应用(WAR文件)

Tomcat支持多种部署方式,最常用的是手动复制WAR文件至webapps目录

  • 步骤1:生成WAR文件(若未准备好):
    使用Maven或Gradle构建项目,生成target/your-app.war文件(例如Maven命令:mvn clean package)。
  • 步骤2:复制WAR文件
    将WAR文件复制到Tomcat的webapps目录(Tomcat会自动解压并部署):
    sudo cp /path/to/your-app.war /opt/tomcat/webapps/
    
  • 步骤3:验证部署
    Tomcat启动后,会自动解压WAR文件(生成同名目录,如your-app)。通过浏览器访问:
    http://<服务器IP>:8080/your-app
    
    若看到应用首页,则部署成功。

9. 可选:配置Tomcat管理界面(方便远程管理)

若需通过Web界面管理Tomcat(如部署、重启应用),需启用manager-gui角色:

  • 编辑tomcat-users.xml文件:
    sudo nano /opt/tomcat/conf/tomcat-users.xml
    
  • <tomcat-users>标签内添加管理用户(替换admin密码为强密码):
    <role rolename="manager-gui"/>
    <user username="admin" password="admin123" roles="manager-gui"/>
    
  • 保存后重启Tomcat:
    sudo systemctl restart tomcat
    
  • 访问管理界面:
    http://<服务器IP>:8080/manager/html
    
    使用配置的用户名和密码登录,即可通过界面上传WAR文件部署应用。

常见问题排查

  • 应用无法访问:检查Tomcat是否运行(systemctl status tomcat)、防火墙是否放行8080端口、WAR文件是否损坏(查看webapps目录是否解压成功)。
  • 日志分析:若部署失败,查看Tomcat日志定位问题(关键日志路径:/opt/tomcat/logs/catalina.out)。
  • 内存不足:若启动时报内存溢出错误,可修改setenv.sh中的CATALINA_OPTS参数(如增加堆内存:-Xms1024M -Xmx2048M)。

0