我使用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