在 Ubuntu 上部署 Java 服务,通常有几种常见方式,取决于你是临时运行、生产环境还是容器化部署。下面我按「从简单到生产级」给你一套清晰方案。
sudo apt update
sudo apt install openjdk-17-jdk -y
验证:
java -version
如果是 Spring Boot,推荐 JDK 17 / 21
scp app.jar user@server:/opt/app/
java -jar app.jar
nohup java -jar app.jar > app.log 2>&1 &
sudo vim /etc/systemd/system/myapp.service
示例:
[Unit]
Description=Java App Service
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/opt/app
ExecStart=/usr/bin/java -jar /opt/app/app.jar
SuccessExitStatus=143
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start myapp
sudo systemctl enable myapp
systemctl status myapp
journalctl -u myapp -f
✅ 优点:开机自启、崩溃自动重启、日志统一
sudo apt install nginx -y
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:8080;
}
}
sudo nginx -t
sudo systemctl restart nginx
FROM openjdk:17-jdk-slim
COPY app.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
docker build -t myapp .
docker run -d -p 8080:8080 myapp
sudo ufw allow 8080application.ymlnetstat -tunlpjava -Xms512m -Xmx1024m -jar app.jar
我可以直接帮你写 完整部署脚本 + systemd + nginx 配置。