温馨提示×

Tomcat如何部署到Debian

小樊
36
2026-08-31 07:04:40
栏目: 智能运维

在 Debian 上部署 Apache Tomcat,常见做法有两种:使用 apt 安装(简单、适合快速使用)手动安装官方二进制包(推荐,适合生产环境)。下面从准备环境到部署应用给你一个完整流程。


一、准备环境(Java)

Tomcat 依赖 Java(JRE 或 JDK)。

1. 安装 Java(JDK 17 示例)

sudo apt update
sudo apt install openjdk-17-jdk -y

验证:

java -version

二、方式一:使用 apt 安装 Tomcat(简单)

适合快速测试,版本可能不是最新

1. 安装 Tomcat

sudo apt install tomcat9 -y

2. 启动并设置开机自启

sudo systemctl start tomcat9
sudo systemctl enable tomcat9

3. 验证

浏览器访问:

http://服务器IP:8080

Debian 默认安装后通常没有管理页面,需要手动安装管理包:

sudo apt install tomcat9-admin

三、方式二:手动安装 Tomcat(推荐 ✅)

适合生产环境,可控性强

1. 创建 tomcat 用户(安全)

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

2. 下载 Tomcat

以 Tomcat 10 为例(Tomcat 9 同理):

cd /tmp
wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.28/bin/apache-tomcat-10.1.28.tar.gz

解压:

sudo mkdir -p /opt/tomcat
sudo tar -xzf apache-tomcat-*.tar.gz -C /opt/tomcat --strip-components=1

3. 权限设置

sudo chown -R tomcat:tomcat /opt/tomcat
sudo chmod -R u+x /opt/tomcat/bin

四、配置 systemd 服务

1. 创建服务文件

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

内容示例:

[Unit]
Description=Apache Tomcat
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

Restart=on-failure

[Install]
WantedBy=multi-user.target

如果 Java 路径不同,用:

readlink -f $(which java)

2. 启动 Tomcat

sudo systemctl daemon-reload
sudo systemctl start tomcat
sudo systemctl enable tomcat

3. 检查状态

sudo systemctl status tomcat

五、防火墙放行端口(如果有 UFW)

sudo ufw allow 8080/tcp

访问:

http://服务器IP:8080

六、部署 Web 应用

方法 1:直接复制 WAR 包

cp yourapp.war /opt/tomcat/webapps/

Tomcat 会自动解压并部署。


方法 2:放在 webapps 目录

/opt/tomcat/webapps/yourapp/

七、配置管理用户(可选)

编辑:

sudo nano /opt/tomcat/conf/tomcat-users.xml

添加:

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="强密码" roles="manager-gui,admin-gui"/>

然后重启:

sudo systemctl restart tomcat

八、常见问题

1. 端口被占用

sudo netstat -tulnp | grep 8080

修改端口:

/opt/tomcat/conf/server.xml

2. 生产环境建议

  • 使用 Nginx / Apache 反向代理
  • 不开 8080 公网端口
  • 使用 Tomcat 10(Jakarta EE)Tomcat 9(Java EE)
  • 不要 root 运行 Tomcat

如果你愿意,我可以帮你:

  • ✅ 指定 Tomcat 9 / 10 / 11
  • ✅ 写一个 Nginx + Tomcat 生产部署方案
  • ✅ 给你一个 systemd 模板

你现在用的是 Debian 11 还是 12?

0