How to Deploy a Spring Boot Application on Linux
Spring Boot is a popular Java framework for building production-ready applications. Deploy your Spring Boot JAR on a Breeze with systemd for reliable process management.
Install Java
sudo apt update
sudo apt install -y openjdk-21-jre-headless
java -version
Prepare Your Application
# Upload your built JAR
scp target/myapp-1.0.0.jar user@your-breeze:/opt/myapp/
# Create a dedicated user
sudo useradd -r -s /usr/sbin/nologin springapp
sudo chown -R springapp:springapp /opt/myapp
Create a Systemd Service
# /etc/systemd/system/springboot.service
[Unit]
Description=Spring Boot Application
After=network.target
[Service]
Type=simple
User=springapp
ExecStart=/usr/bin/java -Xms256m -Xmx512m -jar /opt/myapp/myapp-1.0.0.jar --spring.profiles.active=production
Restart=on-failure
RestartSec=10
SuccessExitStatus=143
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now springboot
sudo journalctl -u springboot -f
Nginx Reverse Proxy
server {
listen 80;
server_name api.yourdomain.com;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Use Certbot for HTTPS. Configure application-production.yml for database connections and secrets management on your Breeze.