2016-10-06 3 views
5

Я создал проект node.js и загрузил его на свой оконный сервер, чтобы предоставить api-службу для мобильного приложения. когда я открыть окно командной строки и введитеКак запустить файл узла js в фоновом режиме на сервере окон?

node app.js 

Это правильно работать, но когда я закрываю в командной строке мой node.js сервер был остановлен. Как заставить его работать, когда я закрываю приглашение?

пример на Ubuntu я использую команду

nohup 

Как сделать, как это на окне

+0

Не делайте консольную программу. Сделайте программу GUI. –

+0

Запустите проект как системный сервис: [os-service] (https://www.npmjs.com/package/os-service) –

ответ

6

Вы можете сделать процесс работать в фоновом режиме, используя pm2

pm2 start app.js --watch 

Это запустит процесс и будет также искать изменения в файле. Дополнительная информация о watch flag

+0

woow sooper Himani Agarwal .. Он хорошо работает – Trojan

-1

Нет, вы не можете.

Даже если вы создаете программу GUI, вам нужно запустить ее через консоль.

И как только вы закроете командную строку. Ваш сервис будет остановлен или прекращен только в этот момент. Поскольку узел создает сам сервер во время работы: http.createServer().listen(port) или app.listen(port). Таким образом, это делает его независимым по своей природе.

Итак, как только вы закроете командную строку, на которой запущен сервер, все сервисы будут остановлены в этот момент.

1

Nodemon #ftw. В Windows Forever фактически не наблюдает за файлами, так как небрежно их наблюдают, а pm2 перезапускает сервер при каждой загрузке страницы.

Каждый из этих инструментов работает аналогично, и каждый устанавливается так же, как и в принятом ответе. Например .:

npm install nodemon -g 

Это устанавливает nodemon глобально и использовать вы можете просто перейти в папку проекта и введите:

nodemon 

(Предполагается, что ваш проект имеет app.js файл). Вы можете добавить ключ -w, как и в Forever и pm2, однако, если вы просто хотите просмотреть все файлы, вы можете опустить это. Для запуска nodemon в фоновом режиме с навсегда, вы бы запустить это:

forever nodemon --exitcrash 

Nodemon хорош для развития, особенно на Windows, в то время как навсегда и пм2 больше для производства, на Linux.

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