我使用foreman在生產服務器上運行我的node.js應用程序(Ubuntu服務器12)。 工頭有一個很棒的工具來爲暴發戶創建腳本。Upstart和init.d的優先級
的問題是,當我重新啓動服務器,我的應用程序(由工頭管理)之前的Redis服務器的推出,我已經建立了一些技巧,以等待一個有效的連接。
理想的解決方案將是啓動的Redis服務器的前面,和母雞的節點應用,當一切都開始了。
引導配置:
- Redis的服務器被/etc/init.d/redis-server推出,是/etc/rc2.d/S20redis-server
- 我節點應用程序開始/etc/init/stocks-streamer*.conf文件
我的問題是:你將如何改變我的節點應用程序的啓動順序? 我想在我的應用程序開始等待Redis的服務器,但是當我這樣做,它不會啓動:
start on (started redis-server)
我想,那是因爲沒有事件是從的init.d腳本到暴發戶,但也許發有一種方法我不知道?
感謝您的幫助!
問題是我沒有在/etc/rc2.d中的新貴腳本的痕跡。 暴發戶使用事件來啓動和停止腳本。 我想我必須從redis-server腳本發出一個事件,但我不知道該怎麼做。 – 2013-02-25 15:04:46
我已經更新了我的答案,建議使用upstart來運行redis。如果新貴管理所有的依賴關係,這應該讓'開始'按預期工作。 – 2013-02-25 19:23:24