나는 프로덕션 서버 (우분투 서버 12)에서 node.js 응용 프로그램을 실행하기 위해 foreman을 사용합니다. Foreman은 신출내기를위한 스크립트를 만드는 훌륭한 도구를 가지고 있습니다.Upstart와 init.d priority
문제는 서버를 재부팅 할 때 redony-server 이전에 내 응용 프로그램 (foreman이 관리)을 실행하고 유효한 연결을 기다리기 위해 몇 가지 트릭을 작성했기 때문입니다.
이상적인 해결책은 이전에 redis-server를 시작하고 모두 시작될 때 노드 응용 프로그램을 시작하는 것입니다.
부팅 구성 :
- 레디 스 서버가 /etc/init.d/redis-server에 의해 시작하고 있습니다 /etc/rc2.d/S20redis-server 내 노드 응용 프로그램이 시작됩니다
- /etc/init/stocks-streamer.conf 파일
제 질문은 : 노드 응용 프로그램의 부팅 순서를 어떻게 변경하겠습니까? 나는 내 응용 프로그램이 시작되기 전에 레디 스 서버 대기하고 싶지만 나는이 작업을 수행 할 때, 그것은 시작되지 않습니다
start on (started redis-server)
내가 어떤 이벤트가 아마 벼락 출세 만에있는 init.d 스크립트에서 전송되지 않기 때문에 그것의 상상 내가 모르는 방법이 있니?
도움을 주셔서 감사합니다.
문제는 내가 /etc/rc2.d에 upstart 스크립트의 흔적이 없다는 것입니다. Upstart는 이벤트를 사용하여 스크립트를 시작하고 중지합니다. redis-server 스크립트에서 이벤트를 방출해야한다고 생각합니다. 그러나 어떻게 수행하는지 찾지 못했습니다. –
대신에 신생음을 사용하여 redis를 실행하라는 답변을 업데이트했습니다. upstart가 모든 종속성을 관리하는 경우'start on'이 예상대로 작동해야합니다. –