supervisord运行节点作为服务

我正在尝试使用supervisord作为服务来运行节点应用程序。

如果我去/ opt / uptime并运行:

node app.js 

我的应用程序从前台开始。 只要我按Ctrl + C它死了。正如所料。

我已经安装了主pipe,并已添加到configuration:

 [program:uptime] command=/usr/local/bin/node app.js directory=/opt/uptime/ 

我可以成功启动主pipe,但是如果我做主pipe状态,我会得到:

 uptime BACKOFF Exited too quickly (process log may have details) 

这里是日志文件:

/var/log/supervisor/supervisord.log

 2013-04-25 09:37:10,854 CRIT Supervisor running as root (no user in config file) 2013-04-25 09:37:10,866 INFO /var/tmp/supervisor.sock:Medusa (V1.1.1.1) started at Thu Apr 25 09:37:10 2013 Hostname: <unix domain socket> Port:/var/tmp/supervisor.sock 2013-04-25 09:37:10,914 CRIT Running without any HTTP authentication checking 2013-04-25 09:37:10,915 INFO daemonizing the process 2013-04-25 09:37:10,917 INFO supervisord started with pid 28099 2013-04-25 09:37:10,918 INFO spawned: 'uptime' with pid 28101 2013-04-25 09:37:11,015 INFO exited: uptime (exit status 1; not expected) 2013-04-25 09:37:11,016 INFO received SIGCLD indicating a child quit 2013-04-25 09:37:12,019 INFO spawned: 'uptime' with pid 28103 2013-04-25 09:37:12,082 INFO exited: uptime (exit status 1; not expected) 2013-04-25 09:37:12,082 INFO received SIGCLD indicating a child quit 2013-04-25 09:37:14,086 INFO spawned: 'uptime' with pid 28105 2013-04-25 09:37:14,153 INFO exited: uptime (exit status 1; not expected) 2013-04-25 09:37:14,154 INFO received SIGCLD indicating a child quit 2013-04-25 09:37:17,157 INFO spawned: 'uptime' with pid 28107 2013-04-25 09:37:17,220 INFO exited: uptime (exit status 1; not expected) 2013-04-25 09:37:17,220 INFO received SIGCLD indicating a child quit 2013-04-25 09:37:18,221 INFO gave up: uptime entered FATAL state, too many start retries too quickly 2013-04-25 09:37:20,372 INFO localhost:0 - - [25/Apr/2013:14:37:20 -0600] "POST /RPC2 HTTP/1.0" 200 254 2013-04-25 09:37:20,374 INFO localhost:0 - - [25/Apr/2013:14:37:20 -0600] "POST /RPC2 HTTP/1.0" 200 1236 

如果我理解正确,代码应该是这样的:

如果directory = / usr / local / bin /:

 [program:uptime] directory = /usr/local/bin/ command = node app.js 

如果directory = / opt / uptime /:

 [program:uptime] directory = /opt/uptime/ command = node app.js