복붙노트

[SCALA] 생산에서 재생 서버를 시작 스칼라

SCALA

생산에서 재생 서버를 시작 스칼라

나는 플레이 2.0 응용 프로그램 EC2에 배포를하고 난 플레이 시작과 함께 응용 프로그램을 백그라운드에서 실행, 나는 Ctrl-D를 칠 수 프로세스는 백그라운드에서 계속 실행됩니다하지만 그것은 잠시 후 사망 (15 20 분?) 확실하지 왜. 나는 보통 응용 프로그램을 시작한 후, 나는 그 이유가 아니다 바라고 있어요 SSH 세션을 종료합니다.

해결법

  1. ==============================

    1.nohup을 나를 위해 시작 작품을한다.

    nohup을 나를 위해 시작 작품을한다.

  2. ==============================

    2.내 플레이 앱 다음 시작 스크립트를 (에 CentOS)에 사용하고, 그것은 연극 무대와 대상에 대해 정지하지 등의 끝 부분에 면역 그래서 백그라운드에서 자체 프로세스 그룹과 세션에 넣습니다, 잘 작동 보인다 / 시작은 기욤 BORT에서 온다 "그 일의 적절한 방법"입니다.

    내 플레이 앱 다음 시작 스크립트를 (에 CentOS)에 사용하고, 그것은 연극 무대와 대상에 대해 정지하지 등의 끝 부분에 면역 그래서 백그라운드에서 자체 프로세스 그룹과 세션에 넣습니다, 잘 작동 보인다 / 시작은 기욤 BORT에서 온다 "그 일의 적절한 방법"입니다.

    #!/bin/bash
    #
    # chkconfig: 2345 98 1
    # description: MyApp application
    #
    
    case "$1" in
    start)
      su - apps <<'EOF'
    cd /opt/myapp || exit 1
    PATH=/opt/play-2.1.1:$PATH
    echo "Starting MyApp..."
    play stage 
    setsid target/start < /dev/null > /dev/null 2>&1 & 
    EOF
      ;;
    stop)
      su - apps <<'EOF'
    cd /opt/myapp || exit 1
    PATH=/opt/play-2.1.1:$PATH
    echo "Stopping MyApp..."
    play stop
    EOF
      ;;
    esac
    

    당신은 그것으로 고립되어 확인할 수 있습니다 :

    ps -e -o user,pid,ppid,pgrp,sid,command | grep -i play
    

    당신은 같은 것을 볼 수 있습니다 :

    apps      2949     1  2949  2949 java -cp target/staged/* play.core.server.NettyServer target/..
    

    init를 의미 (1 PID) 부모이며, 그것은 자신의 프로세스 그룹 (2949)에 고립입니다.

  3. ==============================

    3.난 당신이 활성 (이전 재생) 스크립트가 수행하는 단계 명령을 사용하여 프로젝트 배포 바이너리를 준비하는 것이 좋습니다 것입니다. 당신은 백그라운드에서 바이너리를 실행할 수 있습니다,이 경로에서 찾을 수있는 쇼 아래 코드의 두 번째 명령.

    난 당신이 활성 (이전 재생) 스크립트가 수행하는 단계 명령을 사용하여 프로젝트 배포 바이너리를 준비하는 것이 좋습니다 것입니다. 당신은 백그라운드에서 바이너리를 실행할 수 있습니다,이 경로에서 찾을 수있는 쇼 아래 코드의 두 번째 명령.

    ./activator stage
    target/universal/stage/bin/project-name &
    
  4. ==============================

    4.플레이 2.2.3 ... 놀이를 들어 나를 위해 일 "-Dhttp.port = 8080 시작!"

    플레이 2.2.3 ... 놀이를 들어 나를 위해 일 "-Dhttp.port = 8080 시작!"

  5. from https://stackoverflow.com/questions/10729443/scala-start-play-server-in-production by cc-by-sa and MIT license