温馨提示×

debian java服务怎么启停

小樊
45
2026-09-17 02:54:29
栏目: 编程语言

在 Debian 上启停 Java 服务,常见有 3 种方式
1️⃣ 直接命令行启停(最简单)
2️⃣ 使用 systemd(推荐,生产环境)
3️⃣ 使用脚本 + service(老方式,较少用)

下面分别说明。


一、直接命令行启停(测试/临时)

启动

java -jar /opt/app/myapp.jar

后台运行:

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

停止

# 查找进程
ps -ef | grep myapp.jar

# 杀掉进程
kill -9 <PID>

✅ 适合临时测试
❌ 不能开机自启、不方便管理


二、使用 systemd(✅ 推荐)

1️⃣ 创建 service 文件

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

内容示例:

[Unit]
Description=My Java Application
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

⚠️ 确保 java 路径正确
可用 which java 查看

2️⃣ 重载 systemd

sudo systemctl daemon-reload

3️⃣ 启动 / 停止 / 重启

sudo systemctl start myapp
sudo systemctl stop myapp
sudo systemctl restart myapp

4️⃣ 查看状态 / 日志

sudo systemctl status myapp
journalctl -u myapp -f

5️⃣ 开机自启

sudo systemctl enable myapp

三、传统 service 脚本(了解即可)

sudo vim /etc/init.d/myapp

示例(简化):

#!/bin/bash
case "$1" in
  start)
    nohup java -jar /opt/app/myapp.jar > /var/log/myapp.log 2>&1 &
    ;;
  stop)
    pkill -f myapp.jar
    ;;
esac
chmod +x /etc/init.d/myapp
service myapp start
service myapp stop

⚠️ Debian 新版本已不推荐


四、常见问题

Java 找不到?

which java
java -version

如未安装:

sudo apt update
sudo apt install default-jdk

多 Java 版本?

update-alternatives --config java

五、推荐做法总结

场景 推荐方式
本地测试 命令行
生产环境 ✅ systemd
老系统 init.d

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

  • Java 版本
  • jar 包路径
  • 是否需要开机自启
  • 是否用 Spring Boot

我可以帮你 直接写一份可用的 systemd 配置

0