温馨提示×

debian Tomcat怎么部署

小樊
56
2026-09-06 14:09:56
栏目: 智能运维

下面以 Debian(如 Debian 11/12) 为例,说明 Tomcat 的部署方式,从安装到部署 Web 应用,分几种常见场景。


一、通过 apt 安装 Tomcat(最简单)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 Tomcat

Debian 通常提供 tomcat9 或 tomcat10:

sudo apt install tomcat9 -y

如需管理界面:

sudo apt install tomcat9-admin -y

3. 启动并设置开机自启

sudo systemctl start tomcat9
sudo systemctl enable tomcat9

4. 验证

浏览器访问:

http://服务器IP:8080

二、Tomcat 目录结构说明

/etc/tomcat9/        # 配置文件
/var/lib/tomcat9/    # 主目录
/var/lib/tomcat9/webapps/  # 部署目录
/var/log/tomcat9/    # 日志

三、部署 Web 应用(war 包)

方法 1:直接放入 webapps(最常用)

sudo cp yourapp.war /var/lib/tomcat9/webapps/

Tomcat 会自动解压并部署
访问:

http://IP:8080/yourapp

方法 2:Manager Web 页面部署

  1. 编辑用户配置:
sudo nano /etc/tomcat9/tomcat-users.xml

添加:

<role rolename="manager-gui"/>
<user username="admin" password="123456" roles="manager-gui"/>
  1. 重启 Tomcat:
sudo systemctl restart tomcat9
  1. 访问:
http://IP:8080/manager

上传 war 即可。


四、手动安装 Tomcat(推荐生产环境)

1. 安装 JDK

sudo apt install openjdk-17-jdk -y

2. 创建用户

sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat

3. 下载 Tomcat

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.x/bin/apache-tomcat-10.1.x.tar.gz
sudo tar -xzf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components=1

4. 赋权

sudo chown -R tomcat:tomcat /opt/tomcat

5. 配置 systemd

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

示例:

[Unit]
Description=Tomcat
After=network.target

[Service]
Type=forking
User=tomcat
Group=tomcat
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

五、常见问题

端口被占用

修改:

/etc/tomcat9/server.xml

或

/opt/tomcat/conf/server.xml

防火墙

sudo ufw allow 8080

查看日志

sudo tail -f /var/log/tomcat9/catalina.out

如果你愿意,可以告诉我:

  • Debian 版本
  • Tomcat 版本(9 / 10)
  • 是否用 Nginx 反向代理
  • 是否 生产环境

我可以给你更精确的部署方案。

0 踩