반응형

스프링 부트 프레임워크에는 내장 웹 서버(톰캣)가 자동으로 설정되어 있습니다. 

그렇기에 우리는 SpringBootApplication을 통해 웹 서버를 작동시킬 수 있습니다.

 

다음은 스프링부트 기반 jar/war의 내장 웹 서버(톰캣)를 이용해서 윈도우 서비스 등록을 사용 방법에 대해서 설명하겠습니다.

 

 winsw 프로그램 다운로드 

 

https://github.com/kohsuke/winsw/releases

http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.1.2/

 

위의 링크를 통해 winsw의 최신 버전 exe 파일을 다운 받는다. 

 

 

 winsw 설정

 

winsw.exe 파일과 동일한 폴더 위치에서 다음과 같은 설정  .xml을 만든다 

 

1
2
3
4
5
6
7
8
9
<?xml version="1.0" encoding="UTF-8"?>
<service>
    <id>서비스명</id>
    <name>서비스명</name>
    <description>서비스에 대한 설명</description>
    <executable>java</executable>
    <arguments>-jar "xxxx.jar / xxx.war"</arguments>
    <logmode>rotate</logmode>
</service>
cs

 

winsw.exe 와 설정파일.xml 은 동일한 이름으로 변경한다 

 -> 주로 프로젝트 명 혹은 서비스 등록 명으로 바꾸면 된다.

 

xxxx.jar / xxxx.war 의 경우는 자신의 스프링 부트 jar를 입력하면 된다.

 

 

 서비스 등록

 관리자 권한으로 CMD 창을 실행 한다.

  관리자 권한으로 실행하지 않을 시 권한 거부 에러가 발행할 수 있다.

 

위에서 만든 서비스명.exe (winsw.exe) 파일 위치로 이동 한 뒤 아래의 명령어를 친다.

 

서비스명.exe install

에러가 발생하지 않으면 서비스에 내가 등록한 서비스명으로 서비스가 등록된 것을 확인할 수가 있다.

 

반대로 등록한 서비스를 삭제하는 방법으로는 

서비스명.exe uninstall

 

 또한 

 서비스는 등록되었으나 서비스 시작 시 발생하는 에러는 

 동일 폴더 내 log 파일을 확인할 수 있다.

 

 

 

 

관련 내용 출처

 -http://cpsally.blogspot.com/2018/06/spring-boot-as-windows-service.html

 

반응형

+ Recent posts