Я настроил тест сервера Node.js, но как лучше запустить сервер?
Моя стратегия на данный момент заключается в использовании кластера (http://learnboost.github.com/cluster/). Это в основном работает очень хорошо. У меня есть следующая настройка в моем файле app.js (создан с помощью Express):
cluster(app)
.use(cluster.reload())
.use(cluster.reload('views', {extensions: ['.js', '.ejs']}))
.use(cluster.logger('logs'))
.use(cluster.stats())
.use(cluster.repl('/Users/testuser/work/1test/test.sock'))
.use(cluster.debug())
.use(cluster.pidfiles())
.use(cluster.cli())
.listen(3000);
Он работает на моем Mac, когда я тестирую локально. Я запускаю его с командой
nohup node app.js &
Но когда я запускаю Linux и отсоединяюсь от терминала, мастер умирает - рабочие потоки все еще работают. На Macон запускается даже когда я закрываю терминал.
Я прочитал, что может потребоваться смена пользователя, очевидно, это можно сделать в кластере с помощью: .set ('user', 'rambo')
Есть ли у кого-нибудь "лучшие практики" для запуска node.js в качестве "Демона" с кластером, чтобы вы могли отсоединить терминал?
Если я меняю пользователя, который должен войти в систему, как когда язапуск?
Должен ли я использовать такую программу, как screen, чтобы отсоединиться от терминала, не убивая какие-либо процессы?