我有一个相当基本的主pipeconfiguration:
[program:drape] process_name=%(program_name)s_%(process_num)02d command=python /home/ubuntu/drape/workers/drape.py numprocs=1 autostart=true autorestart=true nocleanup=true stdout_logfile=/home/ubuntu/supervisord.out.log stdout_logfile_maxbytes=32MB stderr_logfile=/home/ubuntu/supervisord.err.log stderr_logfile_maxbytes=32MB startsecs=180
我不认为这个configuration实际上很重要,但无论如何张贴。 我正在使用库存pipe理员全局configuration。 我通过标准的sudo apt-get -y install supervisor来sudo apt-get -y install supervisor …只是为了确保:
$ sudo apt-get -y install supervisor Reading package lists... Done Building dependency tree Reading state information... Done supervisor is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 69 not upgraded.
但是,当我尝试启动监督时,我完全沉默的失败:
ubuntu@...:~$ sudo service supervisor start ubuntu@...:~$
日志中没有任何东西(我的全局configuration有logfile=/var/log/supervisor/supervisord.log ),并且“程序日志”中没有任何东西( logfile=/var/log/supervisor/supervisord.log.<stream>.log )。
对于运行ruby守护进程的其他服务器,我有一个类似的configuration过程,以便进一步挖掘,甚至创build一个非常简单的ruby脚本,并使chmod 777成为事物,所以没有权限问题:
$ cat test.rb while 1 puts "hi" sleep 1 end $ ruby test.rb hi hi hi ...
我的问题更多的是“我应该在哪里看”的问题。 如果主pipe没有logging任何东西,我能想到的唯一的其他地方就是系统日志,它并没有向我指出什么疯狂的东西。
沉默失败是由于这条线路失败:
DAEMON=/usr/bin/supervisord test -x $DAEMON || exit 0
在主pipe初始化脚本。 它看起来像supervisord安装在这台机器上的/usr/local/bin/ 。 超烦人,没有什么印刷…
对于其他可能为此付出努力的人来说, 试着直接运行守护进程
/usr/bin/supervisord
实际上你应该看到阻止主pipe运行的错误 。 pipe理员初始化脚本没有用来查找configuration错误。