#node.js #linux #bash #debian #daemon
#node.js #linux #bash #debian #демон
Вопрос:
Я создал небольшой демон, который запускает мой API nodejs в качестве службы forever
.
Теперь, когда служба запускается и останавливается без каких-либо проблем, я хочу запустить ее при включении Raspberry pi. Мой Raspberry pi работает Raspbian
.
Я поместил службу в /etc/init.d/
папку и выполнил update-rc.d myServiceName defaults
, но она не запускает службу после загрузки…
Вы можете мне помочь? Вот сценарий:
#!/bin/sh
export PATH=$PATH:/usr/local/bin
export NODE_PATH=$NODE_PATH:/usr/local/lib/node_modules
case "$1" in
start)
exec forever --spinSleepTime 10000 --sourceDir=/var/domothink -p /var/run/forever start dist/server.js
;;
stop)
exec forever stop --sourceDir=/var/domothink dist/server.js
;;
status)
# TODO
;;
default)
# TODO
;;
esac
exit 0
Комментарии:
1. Обратите внимание, что init может не иметь того же $PATH, который у вас есть для вашей учетной записи, поэтому он может не найти
forever
. Вот почему люди склонны указывать абсолютные пути в сценариях инициализации. Попробуйте/whatever/path/to/forever
вместоforever
2. Но когда я запускаю сервис вручную, он работает хорошо. без абсолютного пути. Я попробую ваше решение, чтобы указать путь отмены.
Ответ №1:
Я нашел хорошее решение для создания службы nodejs в Debian
/ Raspbian
.
Я установил forever-service
пакет с помощью npm и создал службу с помощью этого инструмента.
Это действительно хорошее решение, и оно работает действительно хорошо: https://github.com/zapty/forever-service