温馨提示×

debian中java服务怎么启

小樊
40
2026-10-10 19:59:27
栏目: 编程语言

在 Debian 中启动 Java 服务,常见有几种方式,取决于你是直接运行 jar / class,还是作为系统服务管理。下面按场景说明。


一、直接运行 Java 程序(临时/测试)

1. 运行 jar 包

java -jar app.jar

后台运行:

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

指定 JVM 参数:

java -Xms512m -Xmx1024m -jar app.jar

2. 运行 class 文件

javac Main.java
java Main

二、作为 systemd 服务(推荐,生产环境)

1. 创建服务文件

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

示例内容:

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

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

[Install]
WantedBy=multi-user.target

⚠️ 确保:

  • /usr/bin/java 是正确路径(which java 查看)
  • appuser 有目录权限

2. 重载并启动

sudo systemctl daemon-reload
sudo systemctl start myjava

设置开机自启:

sudo systemctl enable myjava

查看状态:

sudo systemctl status myjava

查看日志:

journalctl -u myjava -f

三、使用脚本启动(简单服务)

创建启动脚本:

nano /opt/myapp/start.sh

内容:

#!/bin/bash
cd /opt/myapp
java -jar app.jar

赋予权限:

chmod +x /opt/myapp/start.sh

运行:

/opt/myapp/start.sh

四、常见问题

1. 找不到 java

which java
java -version

未安装:

sudo apt update
sudo apt install default-jdk

2. 端口被占用

sudo netstat -tunlp | grep 8080

3. 权限不足

确保运行用户有:

  • jar 文件读权限
  • 日志目录写权限

五、推荐做法总结

✅ 生产环境:systemd 服务
✅ 测试环境:nohup java -jar
❌ 不推荐:直接终端运行(断线即停)


如果你能告诉我:

  • Java 版本
  • jar / war
  • 是否要开机启动

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

0 踩