2017-02-13 8 views
1

나는 스프링 웹 사이트와 몇 개의 비공개 기사에서 표준 튜토리얼을 따라 갔다.서비스로서의 스프링 부트 애플리케이션 - 데몬 대신 포 그라운드에서 실행

서비스 시작을 시작 MYAPP

  • 서비스에서는 /etc/init.d/하는 항아리의 심볼릭 링크를 만들 수 있지만 그것은 단지 전경에서 일반 응용 프로그램처럼 시작한다. 나는

    가 어떻게 그냥 주류 리눅스 서비스

    같은 백그라운드에서 실행해야합니까 터미널에 myapp.jar -jar

    자바를 실행 하듯이 내 스크립트입니다

    sudo chmod 500 myapp.jar 
    sudo /path/to/myapp.jar /etc/init.d/myapp 
    

    서비스를 다음과 같이 실행합니다.

    sudo service myapp start 
    

    이제 앱 i를 실행 중입니다. n 개의 전경 대신

  • +0

    관련 : http://stackoverflow.com/questions/21503883/spring-boot-application-as-a-service – g00glen00b

    +0

    이, 대답은, 당신은> 모드를 embeddedLaunchScriptProperties를 설정해야합니다 중복되지 않습니다에 " spring-boot-maven-plugin plugin에서 "service"를 사용하십시오! 이렇게하면 응용 프로그램이 서비스로 실행됩니다. –

    답변

    -1

    그냥 서비스 스크립트에 java -jar yourApp.jar의 끝에 &를 추가 서비스로,이 포크 프로세스를 실행하는 대신 start 호출하는 프로세스를 사용하는 콘솔을 보유하고있다.

    java -jar yourApp.jar & 
    
    +0

    은 깨끗한 솔루션입니다. Coz .. 심지어 공식 문서도 이런 말을하지 않습니다! – madhairsilence

    +0

    이것은 사용 된 곳 (init.d 또는 터미널/bash의 다른 곳)에 관계없이 백그라운드에서 프로세스를 실행하기위한 깨끗한 솔루션입니다. 이중 시작 방지와 같은 고급 검사가 필요하면 @Avinash와 같이 http://stackoverflow.com/questions/11203483/run-a-java-application-as-a-service-on-linux를 확인하십시오. 지적했다. –

    +0

    OK. 그러나 왜 이것들은 문서에 언급되지 않았다. 스프링 부트가 전경처럼 작동 할 것으로 예상됩니까? – madhairsilence

    관련 문제