温馨提示×

debian下java服务怎么部署

小樊
40
2026-09-05 01:20:50
栏目: 编程语言

在 Debian 下部署 Java 服务,常见方式有以下几种,从简单到生产级逐步介绍,你可以按场景选择。


一、准备工作(通用)

1. 安装 JDK

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

查看版本:

java -version

2. 上传 Java 程序

常见形式:

  • xxx.jar(Spring Boot 最常见)
  • war(需 Tomcat)

假设jar包路径:

/opt/app/myapp.jar

二、最简单方式:直接运行(测试用)

java -jar /opt/app/myapp.jar

后台运行:

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

⚠️ 缺点:关机失效,不好管理


三、推荐方式:systemd 部署(生产常用)

1. 创建服务文件

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

内容示例:

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

[Service]
User=appuser
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/myapp.jar
SuccessExitStatus=143
Restart=on-failure

[Install]
WantedBy=multi-user.target

2. 创建专用用户(可选但推荐)

sudo useradd -r -s /bin/false appuser
sudo chown -R appuser:appuser /opt/app

3. 启动服务

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

4. 常用命令

systemctl status myapp
journalctl -u myapp -f

四、使用 Nginx 反向代理(Web 服务)

如果 Java 监听 8080

sudo apt install nginx
server {
    listen 80;
    server_name example.com;

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

五、War 包部署(Tomcat)

sudo apt install tomcat10

放入:

/var/lib/tomcat10/webapps/

六、容器部署(Docker,进阶)

FROM openjdk:17
COPY myapp.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]
docker build -t myapp .
docker run -d -p 8080:8080 myapp

七、常见生产建议

  • 使用 systemd + 非 root 用户
  • 配置 JVM 参数
JAVA_OPTS="-Xms512m -Xmx1024m"
  • 日志用 logback / log4j2
  • 防火墙只开 80/443

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

  • Spring Boot 还是普通 Java
  • 是否要 公网访问
  • Debian 版本(11 / 12)

我可以直接给你一套可复制的部署配置

0