Я пытаюсь установить новомодный сценарий для запущения/останавливания моего node.js приложения.
Вот мой новомодный сценарий:
#!upstart
description "node.js server"
author "marduk"
start on filesystem
stop on runlevel [!2345]
oom never
expect daemon
respawn
respawn limit 10 60
script
export HOME="/home/domains/srg-internal-dev"
echo $$ > /var/run/node-srg-internal-dev.pid
exec sudo -u www-data /usr/bin/node /home/domains/srg-internal-dev/api/server.js >> /home/domains/srg-internal-dev/node.log
2>&1
end script
pre-start script
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Starting" >> /home/domains/srg-internal-dev/node.log
end script
pre-stop script
rm /var/run/node-srg-internal-dev.pid
echo "[`date -u +%Y-%m-%dT%T.%3NZ`] (sys) Stopping" >> /home/domains/srg-internal-dev/node.log
end script
Я проверил этот файл сценария:
$ init-checkconf/etc/init.d/nodesrg.conf
Файл/etc/init.d/nodesrg.conf: синтаксис хорошо
Но когда я пытаюсь запустить узел, я добираюсь:
$ start nodesrg
start: Unknown job: nodesrg
Что я делаю неправильно?;)
Попробуйте переместить nodesrg.conf в /etc/init
, а не /etc/init.d. Init.d - это то место, куда идут скрипты в стиле SYSV, конфигурация upstart принадлежит предыдущей.
Используйте initctl list
, чтобы убедиться, что после перемещения файла он появляется как служба upstart.
Если этого не происходит, можно использовать initctl reload-configuration
и повторить попытку.