我做了这个新贵的脚本,启动一个Node.js服务。 但突然之间服务已经停止,而新贵却没有重新启动。 现在,我正尝试手动启动它,但无法识别我的服务:
start: Unknown job: queue
该脚本正确放置在/etc/init
,并且应该具有正确的权限:
-rw-r--r-- 1 root root 200 Aug 7 13:30 queue.conf
当我用init-checkconf
检查configuration文件时,它说它不能以root身份运行:
root@production1:~# init-checkconf /etc/init/queue.conf ERROR: cannot run as root
什么原因导致这个错误,我该如何解决?
debugging信息:
Ubuntu 12.04.3 LTS root@production1:~# service --version service ver. 0.91-ubuntu1
编辑
这里是queue.conf
:
description "Echo.it command queue" author "Ronni Egeriis Persson <[email protected]>" stop on shutdown respawn respawn 20 5 exec sudo -u beanstalk /usr/bin/node /var/www/queue/index.js >> /var/log/queue.log 2>&1
命令sudo -u beanstalk /usr/bin/node /var/www/queue/index.js >> /var/log/queue.log 2>&1
在手动运行时工作正常。
不能以root
身份运行的是init-checkconf
。 与另一个用户运行init-checkconf
会将语法validation输出到/tmp
的文件。
在这种情况下, respawn 20 5
应该被respawn limit 20 5
。