温馨提示×

debian java怎么部署项目

小樊
34
2026-10-16 15:26:45
栏目: 编程语言

在 Debian 上部署 Java 项目,一般流程是:安装 JDK → 上传/构建项目 → 配置运行方式 →(可选)用 systemd / Nginx 托管。下面按常见场景一步步说。


一、安装 Java(JDK)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装 OpenJDK(推荐)

# JDK 11(最常用)
sudo apt install openjdk-11-jdk -y

# 或 JDK 17
sudo apt install openjdk-17-jdk -y

3. 验证

java -version
javac -version

二、部署 Java 项目的常见形式

✅ 方式一:Spring Boot(最常见,jar 包)

1. 上传 jar 包

scp target/app.jar user@server:/opt/app/

2. 直接运行

java -jar /opt/app/app.jar

3. 后台运行(推荐)

nohup java -jar /opt/app/app.jar > app.log 2>&1 &

✅ 方式二:使用 systemd(生产推荐)

1. 创建服务文件

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

内容示例:

[Unit]
Description=Java App
After=network.target

[Service]
User=www-data
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/app.jar
SuccessExitStatus=143
Restart=always

[Install]
WantedBy=multi-user.target

2. 启动服务

sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp

3. 查看状态

sudo systemctl status myapp

✅ 方式三:War 包 + Tomcat

1. 安装 Tomcat

sudo apt install tomcat9 -y

2. 部署 war

cp app.war /var/lib/tomcat9/webapps/

3. 访问

http://服务器IP:8080/app

三、开放防火墙端口

sudo ufw allow 8080
sudo ufw enable

如果是云服务器,还需在安全组放行端口。


四、用 Nginx 反向代理(推荐)

sudo apt install nginx -y

配置示例:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}
sudo nginx -t
sudo systemctl restart nginx

五、常见问题

❌ 端口被占用

sudo lsof -i:8080

❌ 内存不足

java -Xms256m -Xmx512m -jar app.jar

❌ 中文乱码

export LANG=en_US.UTF-8

六、简单总结

场景 推荐方式
Spring Boot jar + systemd
传统 Web Tomcat
公网访问 Nginx 反代

如果你能告诉我:

  • Java 版本
  • 项目类型(Spring Boot / 普通 Java / War)
  • 是否用 Docker

我可以直接给你一套完整可复制的部署命令。

0 踩