본문 바로가기

Linux

[Linux] CentOS 7 jar 백그라운드 배포 쉘

Swagger를 이용해 API Doc 셋팅을 마쳐서 프론트엔드 개발자에게 보여주어야 했기에 

 

애플리케이션 개발을 진행하고 있는 노트북이 아닌 서버에 빌드된 jar 파일을 배포해야 했다.

 

최종적으로는 셋팅을 통해 외부 WAS에 배포를 할테지만 개발 단계에서는 배포 테스트를 위해

 

Spring Boot 내장 톰캣을 이용해 배포를 하려한다. jar 파일은 java 명령어를 이용해 Spring Boot 웹 애플리케이션을 실행하며

 

그냥 실행하게 되면 해당 프로세스를 점유하는 계정이 로그아웃 되면 프로세스도 같이 죽어버리기 때문에 nohup 명령어와 & 옵션을 통해

 

백그라운드에서 실행하며 process owner가 로그아웃 하더라도 데몬처럼 돌아가도록 해주어야 한다.

 

그 이전에 서버 서비스에 등록해두었던 톰캣을 종료하는 것도 필요했다.

 

기존에 서비스에 등록한 톰캣도 8080포트를 사용하고 Spring Boot 내장 톰캣도 8080포트를 사용하기 때문에 포트가 겹쳐 에러가 난다.

 

 

 

먼저 쉘 프로그래밍을 통해 매번 명령어를 쳐야하는 수고를 덜기로 했다. 테스트용 jar 및 쉘이기 때문에 자주 껐다 켰다 해야 했기 때문에,,,

 

startup.sh

 

 

shutdown.sh