автоматический перезапуск службы через навсегда для nodejs

Я обнаружил, что навсегда может запускать сервер nodejs вечно. Навсегда поддерживает этот жанр?

-- If the nodejs script is modified changed, the server shld restarted automatically.

Как я могу включить эту функцию, используя навсегда? или мне нужно что-то еще?


person coure2011    schedule 21.01.2012    source источник


Ответы (4)


Лично я использую для этого Nodemon. Его замена для узла сервера. Он автоматически перезапускает сервер при обновлении ваших файлов. Возможно, вы захотите проверить это.

person Vinoth Gopi    schedule 21.01.2012
comment
это не отвечает на вопрос, навсегда определенно имеет эту функцию - person ericn; 28.04.2016
comment
nodemon для разработки - person Zeal Murapa; 21.06.2017

Из постоянных сведений. Используйте флаг -w, чтобы отслеживать изменения в файле.

person fent    schedule 21.01.2012
comment
как использовать? навсегда запустить server.js -w - person coure2011; 21.01.2012
comment
@DeaDEnD Можете ли вы привести пример того, как просмотреть весь каталог приложений? - person Rajat; 28.05.2012
comment
-w просматривает файлы каталогов и подкаталоги - person AlessMascherpa; 04.03.2013

На случай, если кто-то еще, как и я, найдет это через Google.

Я должен запустить его таким образом:

forever --watch ./start/file

Для меня, по крайней мере, по умолчанию просмотр текущего каталога, в котором я запускаю команду, для изменений. ./start/file — это файл, который «npm start» получает из вашего package.json.

Если вам нужно просмотреть каталог, отличный от того, в котором вы находитесь, pwd показывает, что вы находитесь, попробуйте:

forever --watch --watchDirectory ./path/to/dir ./start/file

По какой-то причине «начать навсегда xxxxxxxxx» выводит только справочную информацию для меня, но это работает. /я пожимаю плечами.

person CrimsonKissaki    schedule 07.07.2014
comment
спасибо @CrimsonKissaki, это было ключом и для моей среды forever start --watch --watchDirectory ./ index.js - person xandout; 16.12.2014
comment
навсегда --watch startme.js - делает невозможным выполнение "всегда останавливаться". он говорит, что процессы не запущены, но порт 3000 все еще занят. - person user1709076; 11.09.2018

Снова просто еще один пример его использования (и он действительно работает: D)

forever -w --watchDirectory . --watchIgnore *.log -o ./log/out.log -e ./log/err.log index.js

Это запустит приложение в том же процессе с выводом на stdout/stderr (но также запишется в логи)

Запускать его в режиме наблюдения за продуктом, очевидно, не очень хорошая идея, и запуск его в качестве демона, вероятно, является тем, что вам нужно, поэтому отбросьте флаги -w и добавьте команду «start».

forever -o ./log/out.log -e ./log/err.log start index.js
person mikgan    schedule 06.02.2015