2012-01-16 1 views
4

Ubuntu 11.10을 실행하는 개발 VM에 node.js를 설치하고 설정 한 후 관리자가 부팅 할 때 자동으로 시작되어 필요할 때 node.js를 호출하고 다시로드하길 원합니다.부팅시 node.js + supervisor를 어떻게 시작합니까?

아래 코드 단편은 터미널에서 내 기본 사용자가 실행할 때 잘 작동하지만 부팅시 어떻게 실행시킬 수 있습니까?

cd /var/ && supervisor -w www www/myapp/app.js 

감사

답변

8

Upstart plus monit은 부팅시 모든 것을 실행하고 노드 프로세스를 유지하는 데 매우 효과적입니다. 또한 npm을 사용하여 설치할 수 있습니다. Here's a tut.

관리자가 부팅 할 때 (논리적으로는 새 파일을 업로드하는 동안 필요한 유일한 시간) 실행해야하는 이유는 잘 모르겠지만 부팅시 시작할 수 있다고 생각합니다. 관리자가 자신의 --restart-에 오류가 있기 때문에,

#!upstart 
description "myapp supervisor" 
author  "you" 

start on startup 
stop on shutdown 

script 
    echo $$ > /var/run/supervise_yourprogram.pid 
    // does it need root access? if so... 
    // exec sudo -u username supervisor --restart-on-error myapp.js 
    supervisor --restart-on-error myapp.js 
end script 

pre-stop script 
    rm /var/run/supervise_yourprogram.pid 
end script 

당신이이 경우에 MONIT을 필요 확실하지 않다 : 단지 (기초에 대한 위와 같은 혀를 사용하여) 새로운 벼락 출세 설정을 생성.

그리고 here's a whole different approach은 app.js 대신에 호출 할 래퍼를 사용합니다. 꽤 재미있을 것 같습니다.

+0

글쎄, 내가 말할 수있는 것부터, 노드 디렉토리에서 변경이있을 때 monit은 노드를 다시로드하는 것에 신경을 쓰지 않는다. 권리? – Industrial

+0

갸! 나는 그것을 [supervise] (http://manpages.ubuntu.com/manpages/natty/man8/supervise.8.html)로 읽었고, node-supervisor보다 원사의 전체 공을 많이 봤다. :) 내 대답을 업데이트하겠습니다. – Kato

+0

카토 감사합니다. – Industrial

0

This Ubuntu page 우분투에 대한 서비스를 작성하는 방법에 대한 지침이있다.