스프링(Spring)/스프링부트(SpringBoot)
[스프링부트(SpringBoot)] 00. Linux에서 스프링부트 띄우기
2024. 11. 17. 20:14반응형
Spring Boot 애플리케이션을 Linux 환경에서 실행하려면 다음 단계를 따르면 됩니다:
STEP 1. Java 설치 확인
Spring Boot는 Java 애플리케이션이므로 JDK(Java Development Kit)가 설치되어 있어야 합니다.
- Java 설치 확인
java -version
- Java가 설치되지 않았다면 OpenJDK를 설치합니다:
sudo apt update # Ubuntu/Debian 기반 sudo apt install openjdk-17-jdk
STEP 2. Spring Boot 애플리케이션 준비
- Spring Boot 애플리케이션을 빌드하여 .jar 파일을 생성합니다.
./mvnw clean package
빌드 후 target/ 디렉터리 안에 .jar 파일이 생성됩니다(예: myapp-0.0.1-SNAPSHOT.jar).
STEP 3. Linux 서버로 파일 전송
애플리케이션 JAR 파일을 Linux 서버로 전송합니다.
- SCP 또는 SFTP 명령어 사용
scp target/myapp-0.0.1-SNAPSHOT.jar user@your-server-ip:/home/user/
STEP 4. Spring Boot 애플리케이션 실행
- JAR 파일을 실행합니다
java -jar myapp-0.0.1-SNAPSHOT.jar
STEP 5. 백그라운드 실행
Linux에서 Spring Boot를 지속적으로 실행하려면 백그라운드 프로세스로 실행하거나 프로세스 관리 도구를 사용할 수 있습니다.
방법 1: nohup 사용
- 다음 명령으로 애플리케이션을 백그라운드에서 실행합니다:
nohup java -jar myapp-0.0.1-SNAPSHOT.jar > app.log 2>&1 &
- app.log에 로그가 기록됩니다.
- 실행 중인 프로세스 확인:
ps -ef | grep myapp
방법 2: systemd 서비스로 등록
1. 서비스 파일 생성:
sudo nano /etc/systemd/system/myapp.service
내용
[Unit]
Description=My Spring Boot Application
After=network.target
[Service]
User=user # 실행할 사용자
WorkingDirectory=/home/user/
ExecStart=/usr/bin/java -jar /home/user/myapp-0.0.1-SNAPSHOT.jar
Restart=always
[Install]
WantedBy=multi-user.target
2. 서비스 등록 및 실행
sudo systemctl daemon-reload
sudo systemctl start myapp.service
sudo systemctl enable myapp.service
3. 상태 확인
sudo systemctl status myapp.service
6. 방화벽 설정
Spring Boot 기본 포트는 8080입니다. 서버의 방화벽에서 포트를 열어야 합니다:
- UFW를 사용하는 경우:
sudo ufw allow 8080
7. 도메인 및 HTTPS 설정 (선택)
- Nginx 또는 Apache를 사용해 Spring Boot 애플리케이션 앞에 Reverse Proxy를 설정할 수 있습니다.
- HTTPS 설정은 Let's Encrypt 등의 도구를 이용해 무료로 구성할 수 있습니다.
반응형
'스프링(Spring) > 스프링부트(SpringBoot)' 카테고리의 다른 글
[스프링부트(SpringBoot)] 04. User JPA 확장하기 및 API 명세 (0) | 2024.11.19 |
---|---|
[스프링부트(SpringBoot)] 03. User 개체를 JPA 데이터베이스 연동하기 (0) | 2024.11.17 |
[스프링부트(SpringBoot)] 02. 컨트롤러 추가하기 (0) | 2024.11.17 |
[스프링부트(SpringBoot)] API 문서 설계 예시 (0) | 2024.11.17 |
[스프링부트(SpringBoot)] 01. 기본 프로젝트로 Hello world 띄우기 (0) | 2024.11.17 |