温馨提示×

ubuntu java服务怎么部署

小樊
47
2026-09-01 04:46:12
栏目: 编程语言

在 Ubuntu 上部署 Java 服务,通常有几种常见方式,下面从最常用、最规范简单临时给你梳理一下,你可以按场景选择。


一、基础准备(必做)

1. 安装 JDK

sudo apt update
sudo apt install openjdk-17-jdk -y
# 或 8 / 11 / 21,视项目而定

验证:

java -version

2. 上传 Java 程序

常见形式:

  • xxx.jar(Spring Boot 最常见)
  • war(部署到 Tomcat)

示例目录:

/opt/app/my-service/
└── app.jar

二、方式一:直接运行(测试 / 临时)

java -jar /opt/app/my-service/app.jar

后台运行:

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

⚠️ 重启服务器会失效,不适合生产。


三、方式二:systemd 服务(✅ 推荐生产)

1. 创建服务文件

sudo vim /etc/systemd/system/my-service.service

内容示例:

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

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

[Install]
WantedBy=multi-user.target

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

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

3. 启动服务

sudo systemctl daemon-reload
sudo systemctl enable my-service
sudo systemctl start my-service

4. 查看状态

systemctl status my-service
journalctl -u my-service -f

✅ 开机自启、崩溃自动重启


四、方式三:Docker 部署(现代主流)

1. 编写 Dockerfile

FROM openjdk:17-jdk
COPY app.jar /app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

2. 构建并运行

docker build -t my-java-app .
docker run -d -p 8080:8080 --name my-service my-java-app

适合:

  • 多环境一致
  • 微服务
  • K8s

五、方式四:Tomcat(仅 war 包)

sudo apt install tomcat9

放入:

/var/lib/tomcat9/webapps/

访问:

http://ip:8080/项目名

六、常见生产建议

  • ✅ 使用 application.yml 或环境变量配置
  • ✅ 使用 Nginx 反代(HTTPS)
  • ✅ 日志用 logback / log4j2
  • ✅ 防火墙:
sudo ufw allow 8080

七、你可以告诉我

我可以给你更精确的部署方案,只需要告诉我:

  1. Java 版本(8 / 11 / 17 / 21)
  2. 是否是 Spring Boot
  3. jar 还是 war
  4. 是否要公网访问 / HTTPS
  5. 单机还是服务器集群

我可以直接帮你写 systemd 文件 / Dockerfile / Nginx 配置

0