从upstart运行node.js(Ubuntu 12.04)

我试图设置新贵的脚本来启动/停止我的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风格的脚本所在,新兴configuration属于前者。

移动文件后,使用initctl list来validation它是否显示为暴发户服务。

如果没有,可以使用initctl reload-configuration试。