在 Ubuntu 上部署 Java 应用一般有 几种常见场景,下面我按「从零到上线」给你一个清晰、实用的流程,适用于大多数情况(Spring Boot / 普通 Jar / War)。
sudo apt update
sudo apt upgrade -y
# OpenJDK 17
sudo apt install openjdk-17-jdk -y
# 查看版本
java -version
若应用要求特定版本(如 JDK 8),可安装
openjdk-8-jdk
# 本地
scp app.jar user@server:/opt/app/
# 服务器
mkdir -p /opt/app
java -jar /opt/app/app.jar
默认端口一般是 8080(Spring Boot)
nohup java -jar /opt/app/app.jar > app.log 2>&1 &
查看日志:
tail -f app.log
sudo vim /etc/systemd/system/javaapp.service
示例内容:
[Unit]
Description=Java Application
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 javaapp
sudo systemctl enable javaapp
sudo systemctl status javaapp
sudo journalctl -u javaapp -f
sudo ufw allow 8080
sudo ufw enable
sudo apt install nginx -y
sudo vim /etc/nginx/sites-available/javaapp
server {
listen 80;
server_name yourdomain.com;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启用:
sudo ln -s /etc/nginx/sites-available/javaapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d yourdomain.com
sudo apt install tomcat9 -y
cp app.war /var/lib/tomcat9/webapps/
访问:
http://ip:8080/app
lsof -i:8080java -Xms512m -Xmx1024m -jar app.jar
✅ Ubuntu
✅ JDK 17
✅ Jar 包
✅ systemd
✅ Nginx + HTTPS
如果你告诉我:
我可以给你更精准的部署方案(包括 Docker / Kubernetes)。