我正在尝试使用supervisord将节点应用程序作为服务运行。
如果我转到/ opt / uptime并运行:
node app.js
我的应用程序从前台开始。一旦我按下ctrl + c它就会死掉......正如所料。
我已经安装了主管并将其添加到配置中:
[program:uptime]
command=/usr/local/bin/node app.js
directory=/opt/uptime/
我可以成功启动主管,但如果我执行supervisorctl状态,我会得到:
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
答案 0 :(得分:3)
如果我理解正确,代码应如下所示:
如果是directory = / usr / local / bin /:
[program:uptime]
directory = /usr/local/bin/
command = node app.js
如果目录= / opt / uptime /:
[program:uptime]
directory = /opt/uptime/
command = node app.js