Ubuntu Java 服务配置指南
一 准备环境
sudo apt update && sudo apt install openjdk-11-jdk -yjava -version、javac -versionreadlink -f $(which java)(常见路径如:/usr/lib/jvm/java-11-openjdk-amd64/bin/java)JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64",执行 source /etc/environmentsudo update-alternatives --config java 与 --config javac 选择默认版本二 使用 Systemd 部署 JAR 服务
sudo nano /etc/systemd/system/myapp.service[Unit]
Description=My Java Application
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/myapp
ExecStart=/usr/bin/java -Xms512m -Xmx1024m -jar /home/ubuntu/myapp/app.jar --server.port=8080
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reloadsudo systemctl enable myapp.servicesudo systemctl start|stop|restart myapp.servicesudo systemctl status myapp.servicesudo journalctl -u myapp.service -f/var/log/syslog(排查 systemd 与权限问题)三 常见场景与参数建议
四 可选方式 Shell 脚本包装
/home/ubuntu/myapp/start.sh:#!/usr/bin/env bash
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
cd /home/ubuntu/myapp
exec /usr/bin/java -Xms512m -Xmx1024m -jar app.jar --server.port=8080 >> /var/log/myapp.log 2>&1
chmod +x /home/ubuntu/myapp/start.shExecStart=/home/ubuntu/myapp/start.sh五 旧系统 SysVinit 方式简介
chmod 755 → update-rc.d <脚本名> defaults 90