Подтвердить что ты не робот

Node.js - Невозможно запустить сервер node, используя навсегда

Я пытаюсь запустить сервер node, используя команду forever. Я установил навсегда глобально, используя:

npm install forever -g

После установки навсегда я пытаюсь запустить node script с помощью следующей команды:

node_modules\.bin\forever start app.js

Ниже моя консоль:

warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up f
or at least 1000ms
info:    Forever processing file: app.js

Пожалуйста, помогите мне решить эту проблему!

4b9b3361

Ответ 1

Здесь нет никаких проблем, кроме предупреждений для конфигураций навсегда, которые вы рекомендуете объявить. Если вы увидите окончательное сообщение там, оно сообщит вам, что оно обработало ваш script. Просто запустите forever list, и вы увидите, как работает script.

Я столкнулся с тем же самым при установке npm через репозиторий yum (yum install npm), а затем установил навсегда, тогда как при установке node и npm через shell-скрипты, а затем для установки навсегда это не происходит. Он должен иметь какое-то отношение к формулам для установщика пакетов или потенциально отсутствовать псевдоним с флагами с установщиком, чтобы установить эти значения за сценой.

Это не значит, что он не работает. См. Ниже. Я создал файл js, используя образец кода с сайта node и выполнил его вручную (я покраснел брандмауэр, чтобы временно открыть порт для приложения, но вам это не нужно):

[[email protected] ~]# vi example.js
[[email protected] ~]# apf -f
apf(23924): {glob} flushing & zeroing chain policies
apf(23924): {glob} firewall offline
[[email protected] ~]# node example.js 
Server running at http://127.0.0.1:1337/

Затем я запускаю приложение навсегда:

^C[[email protected] ~]# forever start example.js 
warn:    --minUptime not set. Defaulting to: 1000ms
warn:    --spinSleepTime not set. Your script will exit if it does not stay up for at least 1000ms
info:    Forever processing file: example.js

Теперь я проверяю, работает ли мое приложение:

[[email protected] ~]# forever list
info:    Forever processes running
data:        uid  command       script     forever pid   logfile                 uptime       
data:    [0] dan1 /usr/bin/node example.js 23976   23978 /root/.forever/dan1.log 0:0:0:27.320 
[[email protected] ~]#

Ответ 2

Это решило мою проблему:

forever start -c node [path/to/app]

"- c" означает - запустить commnad; а затем просто запускайте через nodejs

Таким образом - вы получаете Respawn по умолчанию min. 1000 мс

Взято из: https://github.com/nodejitsu/forever/issues/422, "Basarat"

Ответ 3

Сначала остановите все запущенные приложения:

forever stopall

то используйте эту команду. Он работает для меня и решил мою проблему:

forever -w ./bin/www

и вы должны найти это в файле package.json:

"scripts": {
    "start": "node ./bin/www"
  }

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

Ответ 4

Одна вещь, которая также производит такой же вывод, но не запускает приложение, - это если forever не может выполнить запись в указанный файл журнала. У меня был случай, когда файл журнала стал слишком большим, и это предотвратило запуск процесса.

Ответ 5

Сначала измените свои сценарии package.json, например

"scripts": {
      "start": "forever ./bin/www.js"
 }

чем запустить эту команду в консоли linux: sudo npm start

для окон: npm start

Ответ 6

Если вы настроите модуль globaly (-g option), "forever" находится в $path

forever start app.js

должен работать.