원격 서버에 SpringBoot를 백그라운드로 배포하는 방법

JM·2022년 11월 15일
0

서버 배포 정리

  • nohup 명령어를 사용해 서버 실행 중 로그를 저장
  • 원래 nohup은 백그라운드로 실행시키는 명령어인데, 서버에서 제대로 작동하지 않아 screen 명령어를 사용
  • screen 명령어는 가상 쉘을 만들어 putty에서 나가도 프로세스가 종료되지 않게 함
  • jar 파일을 가져와 nohup로 실행시키기 전에 jar 파일 권한을 chmod 755 "jar 파일명"을 통해 755로 수정해야 함

서버 배포 방법

  1. screen -list: 현재 서버에 어떤 screen(가상쉘)이 존재하는지 확인. 현재는 "26113.plming"이라는 쉘에서 jar를 실행시킴
  2. screen -x 26113.plming: 가상 쉘에 접속
  3. ps ax | grep jar : 실행 중인 프로세스 확인
  • 실행 중인 프로세스가 있는 경우 sudo kill -9 "프로세스 번호"를 입력해 프로세스를 중단시켜야 함
  • 프로세스를 중단한 다음 같은 명령어를 실행해 실행 중인 프로세스가 없는지 한 번 더 확인
  1. sudo java -jar board-0.0.1-SNAPSHOT.jar: 백그라운드에 실행하기 전 빌드 파일이 잘 실행되는지 확인
  2. sudo nohup java -jar board-0.0.1.jar &: 백그라운드에서 jar를 실행. screen에 접속해 jar 파일을 실행시킬 경우 반드시 sudo 권한으로 실행시켜야 함. background 폴더에 nohup.log 파일이 있는데, 이 파일에 실행 로그가 저장됨
  3. ctrl+a -> ctrl+d: screen에서 나가는 명령어. putty 종료해도 프로세스는 백그라운드에서 잘 동작하기 때문에 나가지 않아도 괜찮음

profile
나는 사는데로 생각하지 않고, 생각하는데로 살겠다

0개의 댓글