Я использую foreman для запуска приложений node.js на рабочих серверах (ubuntu server 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. Upstart использует события для запуска и остановки скриптов. Я думаю, что мне нужно выпустить событие из сценария redis-server, но я не нахожу, как это сделать. –
Я обновил свой ответ, чтобы предложить запустить redis с выскочкой. Это должно заставить работу «начать» работать, как ожидалось, если upstart управляет всеми зависимостями. –