Ubuntu 서버에서 Spring Boot 애플리케이션을 강력하고 확장성 꿈은 배포 방식을 적용할 수 있도록, Git, Gradle, Tomcat을 활용하는 방법을 정리합니다.
- GitHub에서 파일 가져오기
- Gradle을 이용한 빌드 (bootJar)
- Spring Boot JAR 파일을 시작하는 방법
- Tomcat을 이용한 WAR 배포
- 반응 성능 확장 & 우수화
1. GitHub에서 파일 가져오기
Git 설치 (필수)
sudo apt update
sudo apt install -y git
GitHub에서 소스 클론
git clone https://github.com/[내 git]/my-project-001.git
cd my-project-001
2. Gradle을 이용한 빌드
Gradle 설치
sudo apt install -y gradle
gradle -v
JAR 배포 원하면 bootJar 실행
./gradlew bootJar
빌드 결과 확인
ls -l build/libs/
3. Spring Boot 시작 & 반응 공유
필요시 JAR 배포 시작
java -jar build/libs/myapp-0.0.1-SNAPSHOT.jar
반균 시작 (nohup)
nohup java -jar build/libs/myapp-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
자동 시작 (systemd)
sudo nano /etc/systemd/system/myapp.service
[Unit]
Description=Spring Boot Application
After=network.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/my-project-001
ExecStart=/usr/bin/java -jar /home/ubuntu/my-project-001/build/libs/myapp-0.0.1-SNAPSHOT.jar
SuccessExitStatus=143
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable myapp
sudo systemctl start myapp
👉 5. Tomcat을 활용한 WAR 배포
Spring Boot WAR 배포 빌드
build.gradle 수정:
plugins {
id 'war'
}
dependencies {
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
}
bootWar {
archiveBaseName = 'myapp'
archiveVersion = '0.0.1'
}
./gradlew bootWar
Tomcat 설치
wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.83/bin/apache-tomcat-9.0.83.tar.gz
tar -xvf apache-tomcat-9.0.83.tar.gz
sudo mv apache-tomcat-9.0.83 /opt/tomcat
sudo chmod +x /opt/tomcat/bin/*.sh
WAR 파일 배포 & Tomcat 시작
cp build/libs/myapp-0.0.1.war /opt/tomcat/webapps/
/opt/tomcat/bin/startup.sh
🔧 6. 성능 확장 & 우수화
✅ Reverse Proxy 매핑 (Nginx, HAProxy)
✅ Connection Pool 설정 (server.xml 수정)
✅ 반복 시작 필합 (CI/CD 개선)
✅ 로드 밸런서 적용
👉 7. 결말
Ubuntu에서 Spring Boot을 가능한 모든 방식으로 배포할 수 있도록 해보았습니다.
✨ 일반적인 배포: java -jar + nohup 또는 systemd ✨ 클래스터 분류 가능: WAR + Tomcat
'Back-End > Java & Spring' 카테고리의 다른 글
Java GC 로그 해석과 튜닝 전략 정리 (0) | 2025.05.10 |
---|---|
Java GC 알고리즘 정리 (0) | 2025.05.10 |
CORS 오류 해결하기(Spring) (0) | 2025.03.02 |
Spring Boot에서 Bean Scope 설정하기 (0) | 2025.02.18 |
H2 Database 설정하기(feat.Spring Boot) (0) | 2025.02.18 |