Приветствую всех резидентов хабра и читающих его.
В этой короткой статье описываются два способа запуска приложений node.js, как сервисов Windows, используя nssm.
Установка
$ npm install winser
Аргументы:
-h, --help — вывод справки
-V, --version — вывод номера версии
-i, --install — установка приложения как сервиса Windows
-r, --remove — удаление сервиса Windows для приложения
-x, --stop — останов сервиса перед удалением
-s, --silent — подавление вывода сообщений на консоль
-c, --confirmation — запрос подтверждения перед установкой/удалением
-p, --path [path] — путь до приложения, устанавливаемого как сервис [текущая директория]
Вариант 1
Удобный способ, используя пакет package.json:
«scripts»: {
«postinstall»: «winser -i -s -c»,
«preuninstall»: «winser -r -x -s»,
}
Теперь, для установки приложения на сервере, надо выполнить:
npm install git://github.com/myprivate/repository/url.git
Аргументы послеустановочного (postinstall) скрипта:
i install — установка
s silent — подавление вывода
c confirmation — запрос подтверждения. Очень удобная опция, т.к. во время разработки нет необходимости устанавливать приложение, как сервис Windows, но часто выполняя команду «npm install» в папке, вы всегда сможете это отменить, выбрав 'n'.
Аргументы скрипта перед удалением (preuninstall):
x — останов сервиса перед удалением
r — удаление сервиса
s — подавление вывода
Вариант 2
Добавьте два следующих скрипта в пакет package.json:
«scripts»: {
«install-windows-service»: «winser -i»,
«uninstall-windows-service»: «winser -r»
}
Теперь вы можете установить сервис, выполнив:
npm run-script install-windows-service
Как это работает
Когда вы устанавливаете ваше node.js приложение, как сервис Windows, то оно регистрируется, используя nssm.exe (находящийся в папке модуля). Запустив сервис nssm.exe, он, в свою очередь, выполнит запуск («npm start») вашего приложения.
Помните, что по умолчанию при запуске npm, указано «node server.js».
Имя сервиса будет аналогичным опции «name» из пакета package.json.
Скачать:
Скачать zip
Скачать tar.gz
Ссылка на github
Ссылки:
Node.js on windows by Tatham Oddie
nssm
В этой короткой статье описываются два способа запуска приложений node.js, как сервисов Windows, используя nssm.
Установка
$ npm install winser
Аргументы:
-h, --help — вывод справки
-V, --version — вывод номера версии
-i, --install — установка приложения как сервиса Windows
-r, --remove — удаление сервиса Windows для приложения
-x, --stop — останов сервиса перед удалением
-s, --silent — подавление вывода сообщений на консоль
-c, --confirmation — запрос подтверждения перед установкой/удалением
-p, --path [path] — путь до приложения, устанавливаемого как сервис [текущая директория]
Вариант 1
Удобный способ, используя пакет package.json:
«scripts»: {
«postinstall»: «winser -i -s -c»,
«preuninstall»: «winser -r -x -s»,
}
Теперь, для установки приложения на сервере, надо выполнить:
npm install git://github.com/myprivate/repository/url.git
Аргументы послеустановочного (postinstall) скрипта:
i install — установка
s silent — подавление вывода
c confirmation — запрос подтверждения. Очень удобная опция, т.к. во время разработки нет необходимости устанавливать приложение, как сервис Windows, но часто выполняя команду «npm install» в папке, вы всегда сможете это отменить, выбрав 'n'.
Аргументы скрипта перед удалением (preuninstall):
x — останов сервиса перед удалением
r — удаление сервиса
s — подавление вывода
Вариант 2
Добавьте два следующих скрипта в пакет package.json:
«scripts»: {
«install-windows-service»: «winser -i»,
«uninstall-windows-service»: «winser -r»
}
Теперь вы можете установить сервис, выполнив:
npm run-script install-windows-service
Как это работает
Когда вы устанавливаете ваше node.js приложение, как сервис Windows, то оно регистрируется, используя nssm.exe (находящийся в папке модуля). Запустив сервис nssm.exe, он, в свою очередь, выполнит запуск («npm start») вашего приложения.
Помните, что по умолчанию при запуске npm, указано «node server.js».
Имя сервиса будет аналогичным опции «name» из пакета package.json.
Скачать:
Скачать zip
Скачать tar.gz
Ссылка на github
Ссылки:
Node.js on windows by Tatham Oddie
nssm