温馨提示×

怎样在debian部署tomcat应用

小樊
41
2026-09-09 12:01:54
栏目: 智能运维

下面按从零到可用的思路,说明在 Debian 上部署 Tomcat 应用 的常见做法(以 Debian 11/12 为例,Tomcat 9/10 通用)。


一、准备环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 JDK(必须)

Tomcat 需要 Java 运行环境:

sudo apt install -y openjdk-17-jdk

查看 Java 是否安装成功:

java -version

二、安装 Tomcat(两种方式)

✅ 方式一:使用 apt 安装(简单、推荐新手)

sudo apt install -y tomcat9

安装完成后:

  • 主目录:/var/lib/tomcat9
  • 配置目录:/etc/tomcat9
  • Web 应用目录:/var/lib/tomcat9/webapps
  • 启动服务:
sudo systemctl start tomcat9
sudo systemctl enable tomcat9

访问测试:

http://服务器IP:8080

✅ 方式二:官方二进制安装(可控、生产常用)

cd /opt
sudo wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.x/bin/apache-tomcat-10.1.x.tar.gz
sudo tar -xzf apache-tomcat-10.1.x.tar.gz
sudo mv apache-tomcat-10.1.x tomcat

创建专用用户(安全):

sudo useradd -r -m -d /opt/tomcat tomcat
sudo chown -R tomcat:tomcat /opt/tomcat

(如需 systemd 管理,可继续配置 service 文件)


三、部署你的应用(War 包)

方式 1:直接放 war 包(最常用)

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

Tomcat 会自动解压并部署:

/var/lib/tomcat9/webapps/yourapp/

访问地址:

http://IP:8080/yourapp

方式 2:手动解压部署

sudo mkdir /var/lib/tomcat9/webapps/yourapp
sudo unzip yourapp.war -d /var/lib/tomcat9/webapps/yourapp
sudo chown -R tomcat9:tomcat9 /var/lib/tomcat9/webapps/yourapp

四、常见配置

1. 修改端口(默认 8080)

编辑:

sudo nano /etc/tomcat9/server.xml

找到:

<Connector port="8080" ... />

改为:

<Connector port="80" ... />

重启:

sudo systemctl restart tomcat9

2. 配置数据库(示例:MySQL)

sudo apt install -y mysql-server

在应用中配置:

spring.datasource.url=jdbc:mysql://localhost:3306/db
spring.datasource.username=root
spring.datasource.password=xxx

五、生产环境建议

✅ 使用 Nginx 反向代理

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

✅ 关闭 Tomcat 管理页面(security) ✅ 使用非 root 用户运行 ✅ 配置 HTTPS(Let’s Encrypt)


六、常见问题排查

# 查看日志
sudo tail -f /var/lib/tomcat9/logs/catalina.out

# 检查端口
sudo netstat -tunlp | grep 8080

# 重启
sudo systemctl restart tomcat9

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

  • Tomcat 版本(8 / 9 / 10)
  • 应用类型(Spring Boot / 普通 WAR)
  • 是否要用 Docker / Nginx / 公网访问

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

0 踩