2015-03-26 3 views
0

Как запустить hapijs в качестве сервера deamon на Linux-боксе? Прямо сейчас я запускаю его как пользовательский процесс для разработки с помощью команды node index.js для главной страницы, но в конечном итоге это должно быть www-data или любой другой пользователь, который запускает этот процесс.Запуск hapijs как deamon

ответ

0

Я использую supervisord, и он отлично работает.

Одним словом, вы должны настроить supervisord для запуска приложения hapijs. Кроме того, вам нужно настроить nginx или apache для обратного запроса прокси-сервера в ваше приложение hapijs.

Вы можете найти подробные инструкции о настройке на http://blog.risingstack.com/operating-node-in-production/

2

PM2 является лучшим вариантом руки вниз. Он масштабируется от местного развития до производства без проблем.

Первый шаг:

npm install -g pm2 

Флаг -g просто для установки в глобальном масштабе, так это доступно в качестве системной команды.

Второй шаг:

pm2 start index.js 

Команда начала просто заменяет node index.js За кулисами он запускает процесс узла, но как демон.

PM2 Фактическое использование Case

cd projects/my-app 
npm install -g pm2 
npm install 
NODE_ENV=development pm2 start index.js -n my-app 

pm2 stop my-app 
pm2 restart my-app 
pm2 status 
pm2 logs my-app 
pm2 m 

Они должны быть достаточно, чтобы ты. Хорошая вещь о PM2 - отлично работает в среде CI/CD, так как вы можете вспомнить процесс по имени. Наконец, из коробки это вращение журнала и несколько других удивительных вещей, чтобы держать вас в движении, даже если материал идет на юг. Приложения также будут автоматически перезагружаться, если они будут аварийно завершены (obv. Configurable).

Дополнительная конфигурация позволяет PM2 просматривать файлы на диске и перезапускать приложение по мере их изменения. Это отлично подходит для разработки, так как вы можете закодировать + сохранять файлы, а API, который вы создаете в HapiJS, будет просто перезагружен и ваши изменения будут жить.

0

Чувствуется странным предлагать инструмент, если вы его явно не задали. nohup-ing процесс и работа в фоновом режиме - это вариант, который не требует новых инструментов, но для чего он стоит, я бы предложил Docker-izing приложение и позволить docker обрабатывать все. У Docker есть несколько встроенных функций, и хотя это не просто для создания демона (он делает это намного больше), вы можете использовать функцию restart = 'always', чтобы поддерживать процесс.

Надеюсь, что это поможет.

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