在 Debian 系统上启动 Java 服务,常见方式有以下几种,按使用场景给你说明:
适合临时运行、测试:
java -jar your-app.jar
后台运行:
nohup java -jar your-app.jar > app.log 2>&1 &
查看日志:
tail -f app.log
sudo nano /etc/systemd/system/myjava.service
示例:
[Unit]
Description=My Java Service
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
sudo systemctl daemon-reload
sudo systemctl start myjava
sudo systemctl enable myjava
systemctl status myjava
journalctl -u myjava -f
sudo nano /opt/myapp/start.sh
内容:
#!/bin/bash
cd /opt/myapp
java -jar app.jar
赋予权限:
chmod +x /opt/myapp/start.sh
运行:
/opt/myapp/start.sh
Java 路径
which java
如果有多版本,建议写绝对路径(如 /usr/lib/jvm/java-17-openjdk/bin/java)
环境变量 可在 service 中加:
Environment=JAVA_OPTS="-Xms512m -Xmx1g"
权限问题 服务用户要对 jar 和日志目录有读写权限
如果你能提供:
我可以给你更精确的启动配置。