Akashic Records

How to run Spring Boot application in background 본문

Spring.io

How to run Spring Boot application in background

Andrew's Akashic Records 2023. 4. 5. 15:48
728x90

Spring Boot 애플리케이션을 백그라운드에서 실행하려면 여러 가지 방법이 있습니다. 다음은 몇 가지 일반적인 방법입니다.

nohup 명령어 사용하기:
nohup 명령어를 사용하여 터미널이 종료되어도 프로세스가 계속 실행되도록 할 수 있습니다.

nohup java -jar your-spring-boot-app.jar &

 

실행 후에 nohup.out 파일에 로그가 기록됩니다. 로그 파일 이름을 변경하려면 다음과 같이 실행하세요.

nohup java -jar your-spring-boot-app.jar > my-logs.log &

 

screen 명령어 사용하기:
screen은 Linux 및 Unix 기반 시스템에서 여러 터미널 세션을 관리할 수 있는 도구입니다. 새 세션을 만들어 Spring Boot 애플리케이션을 실행한 후 세션을 종료하여 백그라운드에서 계속 실행되도록 할 수 있습니다.

screen -S my-session
java -jar your-spring-boot-app.jar

 

이제 Ctrl + A, D를 눌러 screen 세션에서 분리할 수 있습니다. 세션을 다시 연결하려면 다음 명령을 사용하세요.

screen -r my-session

 

systemd를 사용한 서비스로 실행하기:
systemd를 사용하면 Spring Boot 애플리케이션을 서비스로 등록하고 관리할 수 있습니다. 서비스 파일을 생성해야 합니다.

/etc/systemd/system/your-spring-boot-app.service 파일을 생성하고 다음 내용을 입력합니다.

[Unit]
Description=Your Spring Boot Application
After=syslog.target

[Service]
User=your-user
ExecStart=/usr/bin/java -jar /path/to/your-spring-boot-app.jar
SuccessExitStatus=143
TimeoutStopSec=10
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

 

서비스를 시작하려면 다음 명령을 사용합니다.

sudo systemctl start your-spring-boot-app

서비스 상태를 확인하려면 다음 명령을 사용합니다.

sudo systemctl status your-spring-boot-app

시스템 부팅 시 자동으로 시작되도록 설정하려면 다음 명령을 사용합니다.

sudo systemctl enable your-spring-boot-app

이러한 방법 중 하나를 사용하여 Spring Boot 애플리케이션을 백그라운드에서 실행할 수 있습니다. 상황에 맞는 방법을 선택하여 사용하세요.

728x90
Comments