반응형

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 등의 도구를 이용해 무료로 구성할 수 있습니다.

 

 

 

반응형