2013-12-15 2 views
13

Я ищу daemonize мое приложение Node.js. В чем разница между выскочкой и навсегда? Кроме того, есть ли другие пакеты, которые я, возможно, захочу рассмотреть?Node.js upstart vs forever

+3

Возможно, вам понадобится использовать выскочку или какой-либо другой скрипт инициализации для * запуска * навсегда, когда ваша система перезапустится. – numbers1311407

ответ

1

upstart - это общая утилита для демонстрации приложения. Forever предназначен для Node.js. Для большинства целей навсегда лучше для приложений Node.js, так как это проще, настроено на node.js и легко настраивается. Просто попробуйте несколько учебных пособий по выскочке, и вы согласитесь со мной.

24

Как указано в комментариях, upstart будет использоваться для запуска сценария forever, поскольку upstart имеет перехваты для системных событий (например, выключение и запуск вашего сервера).

Другие отличия:

  • Upstart был разработан для Linux, в то время как всегда зависит от платформы.
  • Forever специфичен для nodejs и имеет довольно интересные функции в отношении перезапуска сервера после его сбоя и ведения журнала.
  • Навсегда достаточно для среды разработки, в то время как выскочка необходима, если вам нужно контролировать какой-то ваш сервер. Например, при завершении работы процесс навсегда будет просто убит, но с помощью скрипта вы можете собирать журналы и уведомлять администратора.
  • Upstart позволяет добавлять другие инструменты мониторинга, такие как Monit.

Среди доступных других решений вы можете попробовать daemon, что эквивалентно навсегда.

Я бы не согласился с @leorex относительно установки выскочки. Отъезд this blog post за отличный пример.

1

Основное отличие в том, что выскочка предназначена для запуска приложения при загрузке системы. На Forever этого нет, и вместо этого он сосредоточен на сохранении скрипта node.js, несмотря на сбои (скорее всего, необработанные исключения). Вам будет разумно объединить два ... то есть начать forever yourscript.js от выскочки (при загрузке системы).

Это означает, что вам нужно будет взглянуть на вашу конкретную версию платформы upstart. Upstart никогда не было на окнах и в настоящее время не рекомендуется для Ubuntu/Debian: http://www.markshuttleworth.com/archives/1316

1

В 2017 году, альтернативы могут быть:

  • pm2. Надежное, сильное сообщество, производственное решение. Также можно управлять не-узловыми скриптами. Мой личный выбор.
  • StrongLoop (slc). Узел-только. Ориентируясь на производство, включает сборку/упаковку, развертывание докеров, балансировку нагрузки и профилирование, но последнее. Выглядит многообещающе.

Здесь (возможно, предубежденный) comparison обоих с Forever.

+0

Ничего себе, pm2 невероятно. Благодаря! –

Смежные вопросы