2011-11-07 2 views
1

나는 EC2에 우분투 서버에 Node.js를 응용 프로그램을 배포하고, 나는 영원히 ... 계속 실행하기 위해 영원히 사용하고 있습니다. 그것은 잘 작동Node.JS가 영원히 rc.local에서 작동하지 않는 이유는 무엇입니까?

forever start ~/path/myapp.js

: 나는 콘솔에 다음을 입력하면

문제이다. 하지만 시작할 때 자동으로 앱이 시작되기를 바란다. 그래서 나는 /etc/rc.local에 그 라인을 추가했다. rc.local의 다른 모든 것들은 여전히 ​​작동합니다. 나는 리눅스에 익숙하지 않은 오전

는 나의 추측은 rc.local 파일을 실행할 때 몇 가지 중요한 구성 요소가 초기화되지 않은 것입니다. 그 선을 추가 할 수있는 다른 곳이 있습니까?

덕분에,

답변

1

나는 실제로 /etc/rc.local의 명령을 실행하는 사용자와 함께 할 수있는 뭔가가 꽤 확신한다. ~은 사용자의 홈 디렉토리를 지정,이 예상, 또는 스크립트가 실행될 때 바로로드되지와는 다른, 존재하지 않는 수 있습니다.

forever start /path/to/home/path/myapp.js 
+0

이 작동하지 않는 것 나를 위해 멀리까지 오류가 없다. 내가 볼 수 있지만 앱이 확실히 실행되고 있지 않습니다. – Joel

0

이 매우 늦게 회신입니다,하지만 난 그냥이에 달렸다 : 나는 다음과 같은 노력 건의 할 것입니다. 나를 위해, forever list를 사용하는 것은 아무것도 실행하지 않지만, 서버가 실제로 실행에 있음을 보여줍니다 sudo forever list을하고 있다고 말한다. rc.local에 그렇게 당신을 영원히 루트로 실행 명령을 루트로 실행되며, 루트 만 목록에서 볼 수 있기 때문에

이다.

나는 모범 사례를 모르겠지만, "파이"나는 영원히 프로세스를 실행하려면 사용자입니다 같은 rc.local 파일에서 내 영원히 시작 스크립트를 호출하여 주위 가지고 :

가 도움이된다면,이 내 축약 ./start를 스크립트 su pi -c './start'

입니다, 당신은 다를 수 있습니다, 또는 당신은 아마도 rc.local에 직접 내용을 넣을 수 있습니다 :

#!/bin/sh forever start --append -l forever.log -o server.log -e error.log server.js

관련 문제